lock and unlock on command
convert prioWorkQ to use LockWait
lock and unlock should be private and friend Lock so users dont make mistakes