{{!-- 
Inject a dependency into an instance variable.
Used to support a variety of different injection approaches.

@param interface The interface for the dependency
@param class A concrete class for the dependency (optional)
@param name The name of the instance variable
@param access The access modifier (defaults to private)
--}}
{{#ifdef access}}{{access}}{{else}}private{{/ifdef}} {{interface}} {{name}}{{#ifdef class}} = new {{class}}();{{else}}; // TODO a client implementation is required{{/ifdef}}
