Ignoring node_modules dependencies.
Removed old validation callback code and now supports validation through the use of pre hooks on the 'init' function.
Added validation support through the use of hooks. Hooks can modify properties passed to init to prevent the object being populated.