Merge pull request #9 from mirego/refactor/separate-serialization-from-extraction-code

Separate serialization from extraction code
Add callbacks: "willCreate", "willUpdate", "willDelete"