/// <summary>
        /// Creates new instance.
        /// </summary>
        /// <param name="provider">The provider for reading composite type definitions.</param>
        /// <param name="storageFactory">The factory for storage.</param>
        /// <param name="extenders">A list of additional payload extenders.</param>
        public CompositeCommandFormatter(ICompositeTypeProvider provider, IFactory <ICompositeStorage> storageFactory, List <ICompositeFormatterExtender> extenders = null)
        {
            if (extenders == null)
            {
                extenders = new List <ICompositeFormatterExtender>();
            }

            extenders.Add(new CommandExtender());
            envelopeFormatter = new EnvelopeFormatter(new EnvelopeMetadataProcessingFormatter(provider, storageFactory, extenders));
        }
 /// <summary>
 /// Creates new instance.
 /// </summary>
 /// <param name="provider">The provider for reading composite type definitions.</param>
 /// <param name="storageFactory">The factory for storage.</param>
 public CompositeEventFormatter(ICompositeTypeProvider provider, IFactory <ICompositeStorage> storageFactory)
 {
     envelopeFormatter = new EnvelopeFormatter(new Formatter(provider, storageFactory));
 }