Stop sending the working copy and the pre-working copy to lifecycle event handlers. It's unnecessary and confusing.
Ensure the document tree is pickleable and we don't setup special vars in __init__