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


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)