To unify experience all activities when people use this library should come to use attributes.
For instance defining lifetime scope is done by inherit interface but replace dependency is done by add attribute over class
Rules:
- Attribute over instance class is major than attribute over interface.
- If there is more than one lifetime scope from interfaces create registration with their scopes independently
- If there is more than one lifetime scope from inherit classes hierarchy choose scope from last object in hierarchy which has defined lifetime scope.
Todo: