On the description page it says: Called before viewing a categorypage in CategoryPage::view
So that means I can just append my bit to the catpage that is passed in? or how do I control where my content shows up on the page?
I think you would need to have your hook return false, stopping the processing of the normal category page. You would then have your own class extending CategoryPage which calls the appropriate methods from CategoryPage with your own code interspersed where required.