Add Lock#doWith to wrap acquire/release logic