Chain of Responsibility Design Pattern

Code