[minor] Implement readyState and message buffering