Cleaned up the controller docs and error messages. Controllers no longer cache components. This means each component gets its own instances of the components. Hope this doesn't break any apps!