Reorganize options and factories
Merge branch 'feature/factory-and-options-reorganization'