Updates based on feedback.

Add holding the button.
Expose more config variables.
Cleanup.
Timing tweaks.