Update QP controller

Got it.  I just don't like having such similar things implemented in different ways in the codebase.  Perhaps what you are calling ControllerData should be SharedDataHandle, and what is currently SharedDataHandle should be a subclass called something more like GenericSharedData?