Chain of responsibility Design Pattern.