templates

a fresh version of  #453 
What are you planning to extract and how you are going to use the extracted part(s)?

The plugins are not coupled with core, they should use the bkHelper for communication with core and the core uses beaker.conf.json and beaker.pref.json to determine which plugins to load at run time, and the plugins implement some common interfaces. Otherwise they should be completely decoupled.

As for output displays,  right now there are some coupling in bkOutputDisplayFactory and index.html for existing outputdisplays. But one can also load output displays at runtime. Ideally they should work just like plugins (and we will get there), so people can choose the sets of output displays they want to use, for example some people may prefer SVG charting impl, while some prefer canvas base charting and bind or set default charting output display differently. In theory, all the output displays and plugin should or could be moved into there own repositories and loaded and configured at runtime.

Thanks. Please let me know what you think.