/**
  \example buttonled2.cpp 

  If we want to toggle an LED on each button push, it's critical that
  we register one and only one 'event' each time the button is pushed.
  But, when a mechanical button is pushed, the electrical signal
  usually bounces up and down for quite some time before settling, and
  while it's bouncing, calls on #buttonDown() may return \c true and
  then \c false and then \c true again -- for a single button push.

  'Debouncing' a button means ensuring only one event is detected per
  push.  There are many ways to do it; this is one.

 */
