Decoupling between subclass and superclass has been achieved using Hook Messages & added proper comments