`any_instance_recorders.keys.include?` is going to be O(N) (since `keys` returns an array and it'll have to do a linear scan).  It's also kinda weird to ask if the keys include a key, and then fetch the value for the key, rather than just fetching the value for the key.  I think you can simplify this too:

``` ruby
Array(any_instance_recorders[object.class.__id__])
```

Actually, there's another problem with this: it doesn't find the `any_instance` recorder for any superclasses.  This should probably get the recorder for each ancestor.  Maybe something like this:

``` ruby
def subscribers_for(object)
  subscribers = {}

  object.class.ancestors.each do |klass|
    next unless Class === klass # skip included modules ... would be good to have a spec for this, too
    recorder = any_instance_recorders[klass.__id__]
    subscribers << recorder
  end

  subscribers
end
```