Description
The SDK contains a number of managers. Each of them is implemented differently, some of them take a provider and various configuration options, which are then used to allow the manager to work independently of its source object, while some managers take references to the source object and work through them instead. All the managers should be consistent in their implementation, likely through the use of internal provider objects.