Rename local variable for more descriptive code.
Try to reduce mutation.
Move parsing/ to output/.
Provide client with mechanism to get a particular interface by name.
Don't cover these methods.
Interface is very noisy.
Fix typo.
Add mocha development dependency.
Rename ClassMethods to API.

Since that is what it is.
Use attr_accessor.
Uncomment tests or don't bother.
Add event throttling;

A delay can be specified when defining an event to ensure that the event is not triggered any more often than the delay. For example; a delay of 0.5 would mean that an event can only be triggered once every 500ms. This is handy when it is known before-hand that an event may be triggered very frequently. The request to trigger is effectively discarded at this time.
Raise an exception if the interface cannot be found;

It is more than likely the interface wasn't defined, and we probably want to fail instead of continuing.
Add whitespace.
Interfaces now have an optional refresh throttle;

We may only want an interface to refresh after a given delay to improve responsiveness of the client application overall.