redesign workunit queue, add some new WQueue functions