Chain-of-Responsibility pattern in PHP