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)); }