fixed race conditions

Simplified Queue Api - 
- Call readyQueue.sharedQueue().ready(); when 'ready' fires
- Push Events using readyQueue.sharedQueue().push(function(callback){<Whatever the function with race conditions is>}, callback);
- Wrapped all public api calls with push to prevent race conditions

Reviewed By: @johnnyman727 @tcr @jiahuang