Prevent work from being performed until a resource is claimed
Use response channels rather than locks