Refactoring into Factories

For custom model and view objects