Switch, push buttons and digital inputs handling with lots of options.
Can handle sequences of state changes for: single, double and long pushes or encoder rotation.