Chapter 4 Behavioural Design Pattern