Refactor controls base classes