Honestly, extending the editor is complicate and will drive many peoples back.
Most peoples when comes to a new UI expect to add a toolbar button some how like that:
GetToolbar(name)->Addbutton(where, icon, callback);
and probable same way with a menu item, without needing to know in depth details about the internal framework.