Edit in JSFiddle

var Todo = new Class({
    Implements: Chain,
    initialize: function() {
        this.chain.apply(this, arguments);
        this.callChain();
    }
});

var myTodoList = new Todo(
    function() {
        $('log').grab(new Element('p[text=get groceries]',{'morph':{'duration':3000}}).morph({'color':['#f00','#00f'],'padding':[0,50]}));
        this.callChain.delay(500, this);
    }, function() {
       var p = new Element('p[text=go workout]',{'tween':{'duration':3000,'property':'background-color'}});
       $('log').grab(p);
       p.tween('#fff','#ccc');
       this.callChain.delay(3000, this);
    }, function() {
        $('log').grab(new Element('p[text=code mootools documentation until eyes close involuntarily]').fade('hide').fade(1));
        this.callChain.delay(500, this);
    }, function() {
        $('log').grab(new Element('p[text=sleep]'));
    }
);
<div id="log"></div>