Design patterns chain of Responsibility