What are your thoughts on making some of our assumptions more explicit by instead having two `has_one` associations:

```ruby
has_one :github_account, -> { where(provider: 'github') }, class_name: 'Account'
has_one :twitter_account, -> { where(provider: 'twitter') }, class_name: 'Account'
```

The primary assumption being: users will only ever have one account linked from each provider.