Improves error messages
Removes functionality to pass extra params to providers and constructors
Adds support for FUNCTION and INSTANCE bindings