Makes FileCopier more robust.

Using callbacks directly instead of wrapped functions. This hopefully fixes errors that sometimes happened.
Also check if the observer passes documents to the callback because sometimes the document can be undefined.
Bumps version to 0.3.2