Supporting callback like `after_restore`, `before_restore` and `around_restore`.

Requested in #7. Closes #7.
Merge pull request #9 from simi/restore-callbacks

Supporting callback like `after_restore`, `before_restore` and `around_restore`.