Dependency Injection

See InversionOfControl.