Added some explanatory text
Defensive validation
Pushed methods out into public interface, as they are used by taglib
Implemented passing current menu item in visible/enabled closures
New test for visible context items
Tests just failing on requirement to mock url mappings now
Added "item" to callback context and unit test now passes