Introduce class method `for` to prepare for subclasses