add explanation to a chain of responsibility pattern