We need to create a `ScopedProvider`. The idea is of this provider that it behaves like a singleton, but has not only one scope. `ScopedProvider` should support not only one scope and should have functionality for clearing all the scopes.