Currently it uses callback pattern that many node.js packages use as well as emitting events.
When i first created this 3 years ago, that was sort of the standard way of doing things, but Promises have become very popular(i know i love them :)) and have been a native feature since node 0.12.x
considering we have not yet hit a 1.0.0, we can pretty much just make this change and we will be ok.
If this is to big of a change all at once, we could always do both callbacks and Promises. I think we did this for Datamanager in the past.
Perhaps once we fully move to promises, then we can hit a 1.0.0
My only concern is other projects that might be using the sender that are not yet on node 0.12 or above, since this is when promises became native. I would really like to not have to include the polyfill.
i suppose those users would need to stick to the previous versions then.