Refactoring: changing class names, adding service interface
Implementation: added Dao and Service factories