The idea is to grab an object and move it. With the components we have now I don’t feel like having the OpenDoor or PositionReport component inherit a function to grab the chair. It seems too messy for my taste.
The simple solution is to create a whole new component.
In the component, let’s call it Grabber, I would build the entire grabbing system from ray-casting to releasing the object. Then I would attach the component to the default pawn by using GetWorld or setting it up in gamemode, if that is possible. As a component I will have more flexibility than inheritance.