model: merge duplicated code for WAIT and UNLOCK