Move MenuItem to its own class.
Merge in latest master
Bump docs.