// TODO: Channel modes
// TODO: Listen to gateway events for anythign related to this channel
_kiwi.model.Channel = _kiwi.model.Panel.extend({
    initialize: function (attributes) {
        var name = this.get("name") || "",
            members;

        this.view = new _kiwi.view.Channel({"model": this, "name": name});
        this.set({
            "members": new _kiwi.model.MemberList(),
            "name": name,
            "scrollback": [],
            "topic": ""
        }, {"silent": true});

        members = this.get("members");
        members.channel = this;
        members.bind("add", function (member) {
            var show_message = _kiwi.global.settings.get('show_joins_parts');
            if (show_message === false) {
                return;
            }
            
            this.addMsg(' ', '== ' + member.displayNick(true) + ' has joined', 'action join');
        }, this);

        members.bind("remove", function (member, members, options) {
            var show_message = _kiwi.global.settings.get('show_joins_parts');
            if (show_message === false) {
                return;
            }

            var msg = (options.message) ? '(' + options.message + ')' : '';

            if (options.type === 'quit') {
                this.addMsg(' ', '== ' + member.displayNick(true) + ' has quit ' + msg, 'action quit');
            } else if(options.type === 'kick') {
                this.addMsg(' ', '== ' + member.displayNick(true) + ' was kicked by ' + options.by + ' ' + msg, 'action kick');
            } else {
                this.addMsg(' ', '== ' + member.displayNick(true) + ' has left ' + msg, 'action part');
            }
        }, this);
    }
});
@@ -243,16 +243,42 @@
  members
+,%0D%0A            that = this
 ;%0D%0A%0D%0A   
@@ -796,33 +796,311 @@
             
-return;%0D%0A
+// TODO: This might be better off being moved to the view at some point.%0D%0A                if (member.get('nick') === that.collection.network.get('nick')) %7B%0D%0A                    this.view.$el.find('.initial_loader').slideUp(function () %7B%0D%0A                        $(this).remove();%0D%0A      
             
@@ -1091,33 +1091,37 @@
                 
-%7D
+  %7D);
 %0D%0A            %0D%0A
@@ -1118,16 +1118,63 @@
         
+    %7D%0D%0A                return;%0D%0A            %7D%0D%0A
 %0D%0A      

Remove "Joining channel..." properly when show joins/parts is off.