!! Major Core Commit !!
!! Major Core Commit !!

EVENT HANDLING: vastly improved in Octane.prototype.handle(), now uses a hashmap of element _guid's+event type to handle on* events, window still acts as mediator but now only has one event listener per DOM-element-bound event type: _octane.handleMappedEvents(), which drops the event thru a hashmap to find the right handler, then drops that handler's type thru a hashmap to determine whether to call it as a function or use its .handleEvent property, if it has one.

COMPILE: Octane.prototype.compile() and .compiler(), pair of methods to traverse the DOM and apply handlers on Octane.initialize(). .compile() Can be re-called if the DOM changes and a handler is added, overwrites previous handlers so no duplication (if handlers were applied with Octane.prototype.handle(); .compiler() is used to hook tasks into the compiler, used in modules and by...

O-ACTION: support via compiler, looks for "o-action" attributes on the DOM, and applies a specified handler to the action defined. Actions are controller extension methods, defined on the attribute as "controllerName.method"

TEMPLATES: switched on template compiling from DOM scripts type="text/octane-template". Previously templates were only able to be created by .addTemplate(), which will be deprecated in next stable release

epferrari/octane,epferrari/octane