Chain-of-Responsibility Design Pattern