Rework how controllers are created.