isn't it easier just to return reference to lock?