better use a promise here: we can even reject it if this is locked.