It can take a bit to get your head around the template/override concept, but once you do, it becomes simple.