Split out door control into own daemon with simple plain text protocol
Be more explicit about timeout yield
Simplify lock reporting to include showing indeterminate state
Add basic debouncing