public attributes

I have just installed the demo project. I saw all the instance variables are "public", was it intensionally? would it defeat the purpose of OOP encapsulation? Thanks!

Public means that can be called by other class, they will not defeat any encapslutaion.

What variables you suggest to be protected or private?

Then in what cases you use private variables?