Fix the "Done not a function" error.

@zaach - could you review this one?

* In init, if `done` was not passed, we called `noOp()` instead of setting a reference to it.
* Added a unit test to check for the problem

fixes #232