     {
         logonToPort(true);
         // well that's great! let's logon
-        var req :AuthRequest = new AuthRequest(
-            _client.getCredentials(), _client.getVersion(), _client.getBootGroups());
-        sendMessage(req);
+        postMessage(new AuthRequest(_client.getCredentials(), _client.getVersion(),
+                                    _client.getBootGroups()));
     }
 
     /**

            return;
        }

        // Otherwise, this would be the AuthResponse to our logon attempt.
        var rsp :AuthResponse = (msg as AuthResponse);
        var data :AuthResponseData = rsp.getData();
        if (data.code !== AuthResponseData.SUCCESS) {

    }

    /**
     * Called when a frame of data from the server is ready to be decoded into a DownstreamMessage.
     */
    protected function inputFrameReceived (event :FrameAvailableEvent) :void
    {
        // convert the frame data into a message from the server
        var frameData :ByteArray = event.getFrameData();
        _inStream.setSource(frameData);
        var msg :DownstreamMessage;
        try {
            msg = (_inStream.readObject() as DownstreamMessage);
        } catch (e :Error) {
            log.warning("Error processing downstream message: " + e);
            log.logStackTrace(e);
            return;
        }

        if (frameData.bytesAvailable > 0) {
            log.warning("Beans! We didn't fully read a frame, is there a bug in some streaming " +
                "code? [bytesLeftOver=" + frameData.bytesAvailable + ", msg=" + msg + "].");
        }

        if (_omgr != null) {
