fixes #3510 - plugin interface for registering a plugin, updated menu system