* refactor beacon function inside IR sensor * towards sim support * channel labels * reverting to singletons * hiding unused apis * lazy allocation of button instances * tracking button state * hook up the state