currently I have phpdoc comments all over the place saying "subclasses should not need to override this", it's probably better to just make them final.