This is awesome!  Just one little nitpick on the number of API calls --

If I'm reading this correctly, I think calling ```collins_set status:foo, state: bar``` will actually hit the Collins API twice --  once to set status alone (without setting a state) and then hit it a second time to set status + state simultaneously. Or if you call ```collins_set state: bar, status: foo``` it'll do the same but in opposite order. 

I think this could be cleaner if you integrate the state-handling logic into the "when :status" chunk.  That chunk is already calling set_status! anyway -- you can just conditionally fiddle with its params based on whether attrs[:state] is also supplied.

With this approach, the "when :state" block could just ensure attrs[:status] is supplied, and otherwise would be a no-op. ie something like
```ruby
when :state
  raise 'Cannot set state without also setting status!' unless attrs[:status]
  next
```