added context
Fixes #1 - checks for done callback as a function
Fixes #2 - added documentation