adds hooks back in with proper documentation and implementation.
changing how the controller is required.