Second try with Generics and Abstract Classes

GenericModel, GenericDao, GenericService, GenericController, GenericUI
and their respective classes.