- Updated to API (conversion).
- Adapted implementation and fixed failing test.
- Included abstract provider base class.