The generic part is getting the lock asynchronously which is the API we have on the lock interface.