Nice. Two suggestions:
1. You could likely have auto-generated the callback stuff so you wouldn't have had to have it written out in each function.
2. You could have written the parameters and return values and equations in a Object for each function and auto-generated the inline docs and the i-prefixed functions. This would have gotten rid of more duplication that is present.