Added injector abstraction, and added source reporting in binding errors