support queuing to reduce original calls
Merge remote-tracking branch 'origin/master' into staging

Conflicts:
	test/basic.js
add test for dispose
updates
queuing support