documentation updates for callbacks (vs the old one with promises)
updated to remove the when library
updated unit tests without promises
removed when dependency
add validation for callback parameter
updated functional tests to remove promises and use callbacks instead