Qualifier -> typesafe injection
DI metadata
All available implementations are "injected"
You can choose implementations at runtime with Instance.select