Note: In this class we are providing a default implementation of GetControllerOrientationAndPosition with velocity, etc parameters and GetControllerOrientationAndPositionForTime that never provide that data and require override of the four param version because this is the most common implementation now. Any child class that does support some of the additional params should override all three functions.