Update QP controller

this is *almost* a SharedDataHandle.  Does it really make sense to have a separate interface for it?  If there is something more than SharedDataHandle, perhaps you can derive from it?