249jpg Chain Of Responsibility design pattern