public Task(ProgressChain chain, float weight, ProgressChain.TaskMethod method) { this.Weight = weight; this.chain = chain; Progress = new ProgressHandler(); Progress.OnChange += (s, e) => { chain.ProgressChanged(); }; Progress.OnComplete += (s, e) => { chain.Next(); }; Method = method; }