mntyjs is a plugin system based on requirejs, which provides the possibility to mount and configure plugins via data attributes. All plugins run isolated, so occuring errors won't affect any other functionality.
It automatically detects DOM mutations (working on IE9+) and runs / destroys plugins on dynamically added / removed nodes.
Since it's built on a Base class, you may use inheritance as well within your plugins.
All plugins have built in event handling and provide the possibility to send an receive messages through a global message bus.
There's also a grunt task to ease built process by scanning your templates for used plugins before building the production file.