Using IOC (Inversion of Control) in your API
In your ApiDef, in the bootstraop method, you can register types with the ioc container:
public Bootstrap(host: apiHost): void {
host.ioc.bind<ICoolTool>(INTERFACES.ICoolTool).to<MyFavoriteCoolTool>(MyFavorioteCoolTool)
}