code: func NewMakeyButtonDriver(a DigitalReader, pin string, v ...time.Duration) *MakeyButtonDriver {
  	m := &MakeyButtonDriver{
  		name:       gobot.DefaultName("MakeyButton"),
  		connection: a,
  		pin:        pin,
  		Active:     false,
  		Eventer:    gobot.NewEventer(),
  		interval:   10 * time.Millisecond,
  		halt:       make(chan bool),
  	}
  
  	if len(v) > 0 {
  		m.interval = v[0]
  	}
  
  	m.AddEvent(Error)
  	m.AddEvent(ButtonPush)
  	m.AddEvent(ButtonRelease)
  
  	return m
  }
docs: // NewMakeyButtonDriver returns a new MakeyButtonDriver with a polling interval of
  // 10 Milliseconds given a DigitalReader and pin.
  //
  // Optionally accepts:
  //  time.Duration: Interval at which the ButtonDriver is polled for new information