private async Task BuildStage(IModule stage)
        {
            try
            {
                await PreStageBuild(stage);

                stage.OnLog += Stage_OnLog;
                await stage.Build();
                await PostStageBuild(stage);
            }
            catch (Exception ex)
            {
                Logger?.Write(LogLevels.Error, stage.StagePath, $"Stage {stage} faulted during build: {ex}");
            }
        }