I'm confused about the semantics.  If they are non-blocking, none of the asserts done in this class matter because they happen on another thread.  If they are blocking, we've got other issues to deal with (see previous comment).

Hit me up on IRC if you want to chat about it.