Dude, this ain't fud. Node's primary strength is that blocking libraries are shunned. You can tell me about how you made a thing that makes it easier to write code with non-blocking libraries, but the thing you're talking about falls down pretty quickly.
And when you talk about writing doTask1, you're building and returning a closure. 1) the code you proposed, as written, does not and will never work because task2 must be defined before it is passed to the function above it and 2) it is simply hiding the exact same complexity I talked about earlier, in a different file.
I absolutely love using node for things it's good at, but please please please please stop this nonsense. You wouldn't write a compiler with Python's Twisted or Ruby's EventMachine.