provide

open override fun provide(context: InjectionContext): Any?

Provides the service

NOTICE: we always use context.getOrNull(). Validity is checked in validate