Added provide.decorator
added tests for ProviderFactory to create a DecoratorProvider
saving work for transfer