make component's fields protected and use getters and setters for them
Fix project setup
Compile and test generated sources on the fly