- some clean up, callback support + example
- remove unneeded definition