I'm split on whether to do this. I haven't been able to figure out another way to "observe" the behaviour I'm try to spec for yet, but don't want to add to the public interface. On my list is to work through this code more and figure out a better way to test this.

sorry I just pushed up here what I had last night so I had a backup, isn't ready for review yet :)