"organizing methodin one class "hook methodsin another kuhtml formatter vs writer kusax parser vs handler adds one axis of variability/flexibility shades towards the strategy dpstrategy abstract class per decision pointindependent concrete classes factored tmabstract/concrete classes more "grouped