/// <summary>
        /// Configure <see cref="IEventSequenceNumbers"/> to be using Redis
        /// </summary>
        /// <param name="eventSequenceConfiguration"><see cref="EventSequenceNumbersConfiguration">Configuration instance</see> to configure</param>
        /// <param name="connectionStrings"></param>
        /// <returns>Chained <see cref="EventSequenceNumbersConfiguration"/></returns>
        public static EventSequenceNumbersConfiguration UsingRedis(this EventSequenceNumbersConfiguration eventSequenceConfiguration, params string[] connectionStrings)
        {
            eventSequenceConfiguration.EventSequenceNumbers = typeof(EventSequenceNumbers);
            var configuration = new Redis.EventSequenceNumbersConfiguration(connectionStrings);

            Configure.Instance.Container.Bind(configuration);
            return(eventSequenceConfiguration);
        }
        /// <summary>
        /// Initializes a new instance of <see cref="EventSequenceNumbers"/>
        /// </summary>
        /// <param name="configuration"><see cref="EventSequenceNumbersConfiguration">Configuration</see></param>
        /// <param name="applicationResourceIdentifierConverter">Converter for converting <see cref="IApplicationResourceIdentifier"/> "/></param>
        public EventSequenceNumbers(
            EventSequenceNumbersConfiguration configuration,
            IApplicationResourceIdentifierConverter applicationResourceIdentifierConverter)
        {
            _applicationResourceIdentifierConverter = applicationResourceIdentifierConverter;

            var redis = ConnectionMultiplexer.Connect(string.Join(";", configuration.ConnectionStrings));

            _database = redis.GetDatabase();
        }