Added support for specifying dependencies
Plugins can now specify dependencies and these are passed in
multimode support for InputMode
added support for multimode