<script type="text/javascript">
var foo = {
	fooCallback: null,
	setCallback: function(callback) {
		this.fooCallback = callback;
	},
	doCallback: function() {
		with (this) {
			if (typeof fooCallback == "function") {
				fooCallback();
			} else {
				alert("No foo callback defined.");
			}
		}
	}
};
 
var bar = {
	barValue: 42,
	callback: function() {
		with (bar) {
			alert("Success: bar.callback was called!\n"+
				"And the bar value is " + barValue);
		}
	}
};
 
foo.doCallback();
foo.setCallback(bar.callback);
foo.doCallback(); 
</script>