Removing the factory interface and updating examples to use repository
Merge branch 'feature/factory-as-repository' into develop