Added AbstractError to supportsType function
Added AbstractMethodErrors
added error hooks
Added error reporting