function start() {
    $('select.test').change( function() { $('select.test').trigger('update', $(this)); } );

    $('select.test').bind('update', function(e, data) { $('.test1').html($(data).val()) });
    $('select.test').bind('update', function(e, data) { $('.test2').html($(data).val()) });

    var object1 = new function() {
        var obj = this;
        this.name = "Object 1";

        $('select.test').bind('update', function(e, data) { obj.update(data); });

        this.update = function(data){
            console.log("Update from %o with %o", this, data);
        };

        return this;
    };

    var object2 = new function() {
        var obj = this;
        this.name = "Object 2";

        $('select.test').bind('update', function(e, data) { obj.update(data); });

        this.update = function(data){
            console.log("Update from %o with %o", this, data);
        };

        return this;
    };
}

$(document).ready(function() { start() });