lazily initialize current_edit field
remove unneeded field during project load
extra commit on project start
serialization diff friendly initializations
fix commit context
by executing before process_command()
add key: $project->{redo}: last undone commit