I have taken the following example from "Hands-on Node". It uses some reasonably advanced techniques. I have copied the code verbatim and have tried to debug a few times but cannot figure out why nothing gets printed to my console.

```
var schedule = function(timeout, callbackfunction) {
    return {
        start: function() {
            setTimeout(callbackfunction, setTimeout)
        }
    }
};

(function() {
    var timeout = 1000;
    var count = 0;
    schedule(timeout, function doStuff() {
        console.log(++ count);
        schedule(timeout, doStuff);
    }).start(timeout);
})();

```