#callback/errback contract
- Function that takes 2 arguments
- first argument is an error
- second argument is the result
- Never pass both
- error should be instanceof Error
- Must never excecute on the same tick of the event loop
- Must be passed as last argument to function
- Return value is ignored
- Must not throw / must pass resulting errors
- Must never be called more than once