adds experimental support for thread local scope, giving each thread a different service instance.