This is closer but seems WAY over-engineered. I can't tell if it's because of the nature of javascript or the all-over-the-place docs for Johnny-Five.