See previous comment. If we haven't received message before, we won't call callback.
So, here end-user has to follow with contract: if he returns `null` from callback, it's abnormal for `reply` part