The Observer behavioural design pattern as a PHP component.