Make button hold time be a parameter to `main`
Add docstrings