added on complete callback

- added on reporting complete callback
- hook method signature changed