Refactoring factorymethodsapp project structure