Refactor of the Control API and view mixin