I don't see a reason to make this a staticmethod. A user might want to use something from the class when overriding it.