Use lazy initialization for nIDEvent
Simplify logic + show error messages, if something went wrong
Add ability to check menu item/toolbar button
Add description for -item argument