Actually this is one of the things I wasn't sure I liked how it ended up, seemed like too many arguments, but since firmata doesn't really hold state for things, all the args are needed...that being said, I might should have done it with an object passed in