I see what you mean.

Maybe the scopes could be an enum, like the splEnum: [example of Enum base class](https://github.com/myc-sense/php-enum/blob/master/src/Mycsense/Enum/Enum.php) => [example of concrete enum](https://github.com/myc-sense/ACL/blob/master/src/Mycsense/ACL/Action.php). The `parseScope()` could be in the enum then, and the enum can be extended. And also there would no need anymore for the 2 consts in `ClassMetadata` (since we could test `if ($scope == Scope::SINGLETON())`).

That will also allo to implement the scope in PHP configuration later:

```php
$container->set('foo', new Foo());
$container->set('foo', new Foo(), Scope::SINGLETON());
$container->set('foo', new Foo(), Scope::PROTOTYPE());
```

What do you think?