public static function createInstance() { throw new LogicException('Static method `createInstance()` must be overridden and return `new static(args)`'); }