maybe ContextProviderInterface ?