Ecency
Design patterns: Chain of responsibility | Ecency