public void Initialize(ExtensionConfigContext context)
        {
            if (context == null)
            {
                throw new ArgumentNullException("context");
            }

            context.AddConverter <string, JObject>(JObject.FromObject);
            context.AddConverter <JObject, ResolvedEvent?>(input => input.ToObject <ResolvedEvent?>());
            context.AddConverter <JObject, IList <ResolvedEvent> >(input => input.ToObject <IList <ResolvedEvent> >());
            context.AddAllConverters(_logger);

            var eventStoreAttributeRule = context.AddBindingRule <EventStoreStreamsAttribute>();

            eventStoreAttributeRule.BindToInput <IList <ResolvedEvent> >(new EventStoreInputAsyncConverter(_logger));
            eventStoreAttributeRule.BindToCollector <EventStoreData>(config => new EventStoreDataAsyncCollector(config, _logger));
        }