private static void EnsurePersistence(ElsaBuilder configuration)
        {
            var hasDefinitionStore = configuration.HasService <IWorkflowDefinitionStore>();
            var hasInstanceStore   = configuration.HasService <IWorkflowInstanceStore>();

            if (!hasDefinitionStore || !hasInstanceStore)
            {
                configuration.WithMemoryStores();
            }

            configuration.Services.Decorate <IWorkflowDefinitionStore, PublishingWorkflowDefinitionStore>();
        }
        private static void EnsureCaching(ElsaBuilder configuration)
        {
            if (!configuration.HasService <ISignal>())
            {
                configuration.Services.AddSingleton <ISignal, Signal>();
            }

            configuration.Services.AddMemoryCache();
        }