public sealed class PrimitiveTaskBuilder { private readonly PrimitiveTask task; private PrimitiveTaskBuilder(PrimitiveTask task) => this.task = task; // Factory method public static PrimitiveTaskBuilder For(PrimitiveTask task) { return new PrimitiveTaskBuilder(task); } // Fluent methods that use the existing public interface public PrimitiveTaskBuilder AddCondition(Condition condition) { task.AddCondition(condition); return this; } public PrimitiveTaskBuilder AddPostCondition(Condition condition) { task.AddPostCondition(condition); return this; } public PrimitiveTask Build(string name) { return task.Build(name); } }