Rather than `strpos()`, please re-implement this to just use explode and implode. Something like:

```php
$parts = explode(static::EXTENSION_SEPARATOR, $this->name());
if (count($parts) > 1) {
    array_pop($parts);
}

return implode(static::EXTENSION_SEPARATOR, $parts);
```

This also makes less calls to `name()`, meaning it will be less expensive.