Always include external modules
Move logic into a class
Use include() and inject() to include directories and inject modules, respectively
No need to pass state when it can be bound to the instance
Emit errors rather than passing to the initial load() call
Suppress jshint warnings
Remove unnecessary nextTick
Use util.format() when building large strings
Additional cleanup
Make including global modules configurable
Use istanbul for code coverage analysis