Added IController and BaseController; All controllers now inherit from BaseController. If that is not possible, they can instead extend IController.
Removed ViewFactory.java and moved logic into ControllerFactory.java
Simplified ControllerFactory interface