- refactor the provider for testing
- Remove some remaining binding pry's
- Add specs