public async Task Dispatch(object triggerData, RecipeAction recipeAction)
        {
            foreach (var actionHandler in _handlers)
            {
                try
                {
                    var result = await actionHandler.Execute(triggerData, recipeAction);

                    if (result.Executed)
                    {
                        await _recipeManager.AddRecipeInvocation(new RecipeInvocation()
                        {
                            RecipeId        = recipeAction.RecipeId,
                            Timestamp       = DateTime.Now,
                            RecipeActionId  = recipeAction.Id,
                            ActionResult    = result.Result,
                            TriggerDataJson = JObject.FromObject(triggerData).ToString()
                        });
                    }
                }
                catch (Exception e)
                {
                    await _recipeManager.AddRecipeInvocation(new RecipeInvocation()
                    {
                        RecipeId        = recipeAction.RecipeId,
                        Timestamp       = DateTime.Now,
                        RecipeActionId  = recipeAction.Id,
                        ActionResult    = e.Message,
                        TriggerDataJson = JObject.FromObject(triggerData).ToString()
                    });
                }
            }
        }