Added base abstract service provider impl.
Merge branch 'develop'