private static void ExecuteSync(TaskGroup group, ApplicationInstructions instructions, ApplicationConfiguration configuration)
        {
            var groupInstance = group.ExecuteOnInstance(instructions);

            foreach (var task in group.Tasks)
            {
                task.Execute(configuration, instructions, groupInstance);
            }
        }
        private static void ExecuteASync(TaskGroup group, ApplicationInstructions instructions, ApplicationConfiguration configuration)
        {
            var groupInstance = group.ExecuteOnInstance(instructions);

            Parallel.ForEach(group.Tasks, task =>
            {
                task.Execute(configuration, instructions, groupInstance);
            });
        }