Clean up Lock control flow
Simplify errors
Simpler testing initialization