Controls design unification

Fixes #377 and #370.