Using an Application singleton as the access-point for locks ... this seems complicated again :S