Bone constraints work fine for this. What you need to do is add a bone for each segment, add copy rotation constraints, and define conditions on when to stop following the other bone. Blend file here:
Start with adding the bones, each one at the same location as the other, so the rotations can be copied off 1:1. Then, add copy rotations constraints to each sub-bone (they should not be childs of the main stick bone in edit mode!).
now add the limit rotation constraint to each of the two sub-bones:
use local space for all of them for more flexibility of the rig. Finally, set the limits. I chose a -5 to +5 range for the first, and a -10 to +10 range for the second one. The values are arbitrary for me, in essence the bone stops following the master when those angles are reached:
Be careful with the order of constraints, it matters (as with mesh modifiers): The constraint on top is executed first, then the one below it, etc etc.
Edit requested by user: Using Armature Weights
The parenting in the original file was done using the 'Parent to Bone' option:
This only works if your objects are separate however. If you are in a situation using one mesh which is deformed by an armature, check this blend file:
On layer 1 the original rig is still present, on layer 2 there's a version using an armature modifier and weights. I simply assigned the weights in the mesh data tab, as they would be 1.0 for the respective vertices anyways, no need to paint them.
The rig itself is exactly the same, I could have even reused the armature instead of duplicating it.