Add control factory, refactoring