You should get yourself a copy of RibbonX: Customizing the Office 2007 Ribbon.
getPressed and getEnabled do very different things so the code should definitely not be the same.
Here is an example of how getPressed is used.
Code:
Public Sub getPressed(control As IRibbonControl, ByRef returnedVal)
'callback for toggle button that turns ShowPicturePlaceholders on / off
returnedVal = ActiveDocument.ActiveWindow.View.ShowPicturePlaceHolders
End Sub
Your DocumentChange event should check whether the active document is based on your template and, if so, refresh the ribbon.