Ideally control.h/cpp shouldn't depend on controlobject.h/cpp