Yeah, the `serializable_hash` stuff is awesome. I only recently realized you could customize that method rather than `as_json`, which uses this hash anyway. What's even cooler, is that when you `include: [:assocation]` the included association's attributes are also customized based on this method. 

We have to be careful with creating inclusion loops, though. For instance...
```
class User < ActiveRecord::Base
  ...
  def serializable_hash(options = nil)
    super({
      include: [:patient],
    }.merge(options || {}))
  end
end

class Patient < ActiveRecord::Base
  ...
  def serializable_hash(options = nil)
    super({
      include: [:user],
    }.merge(options || {}))
  end
end
```
will cause an infinite loop where they keep including each other... :-1: