typeInjection's public api is via injection