static void Main(string[] args) { Manager manager = new Manager(); ConditionA conditionA = new ConditionA(manager); ConditionB conditionB = new ConditionB(manager); OrderTracker tracker = new OrderTracker(); tracker.TakeOrder(conditionA); tracker.TakeOrder(conditionB); tracker.RunOrders(); }