Prefer closure form for declaring Attributes. This will allow true private members.
Introduce lodash for iterations. Pull out Errors as a separate object.
Use lodash instead of for-in style iteration
Remove commented code
Attributes track when they need validations. Don't validate if nothing changes.
Move Errors into a separate file of its own
Restructure test directory hierarchy. This will allow us to differentiate integration tests from unit tests.
Remove unnecessary tags
Link jQuery
Integration tests using zombie

The tests need a server + mongo instance to be up and running.
zombie need jsdom to run tests.