Updated MediaInterface
Updated ProviderInterface and providers definitions accordingly
Added test case for Provider class