Phase 2 of issue #25 - controls refactoring