switch instead of nesting levels in isValid-method
remove Traversable support
remove getDefaultType-method
remove getType-method
returning early instead of elseif
rebuild construct for type option support
add some unit-tests for testing passing `type` option through
constructor