Changed use of Enum by an Object for factories management.
Closes #15