rename WQueue to WAsyncQueue , implement a new WQueue and re-implement WAsyncQueue using WQueue