Add factory for extensions
Add factory for extensions
Extract factory creation/use to new class
Use extension class for object creation