This seems to behave, very much like a Microsoft tool. It has a context value passed "DynamicContextKey", but it only has 1 TargetControlID, so a context sensitive menu only works on 1 object. If you want a different context menu for different objects, you must create separate hover menu controls, or dynamically change the TargetControlID using Javascript, which defeats the purpose of having a toolkit.
For example: Let's say you have a datagrid with different context menus for each cell, providing detailed information about the cells content. For each cell, you need a separate hover menu, because the hover menu only acts against 1 control. If the datagrid becomes that control, you can not provide a unique DynamicContextKey for each cell, without providing your own javascript to change the hover menus DynamicContextKey value on the datagrid OnMouseOver event.
It would be much easier, if you could wire up things more logically, like creating a template field that has HoverMenuID and DynamicContextKey properties, so you can have 1 hover menu, rather than several, dynamically created on the server side.