Instead of erroring, .wait functions that do not pass before timeout period now call a new onTimeout function, so the user can explicitly decide what to do. Added tests for .wait and updated Readme.md.