Physics to follow armature

I would like to know how I can make the physics engine to follow an armature when force is applied to an object.

Please consider the attached example.
Currently when the block hits the T shape, the top cube just falls off. The movement of that top cube should be limited to the armature so instead it should start rotating around the central cube.

I could do this by removing the armature and just limit the rotation of the top cube to the Z axis but this feels like cheating

Attachments

armature.blend (571 KB)

Is there any particular reason why you need an armature? If not the easiest thing to do would be to add a hinge constraint to that top cube.
armature1.blend (678 KB)