Decoupling between subclass and superclass has been achieved using Hook Messages