Why using @classmethod here?
Are the static methods not overload-able in subclasses class methods?