Decoupling dependency injection engine implementations and the web application