Inject interface instead of concrete type