An implementation of inject.api