Clarify that key is always received as a symbol
Move exceptions to top level namespace
Clarify tomdoc
ApplyChanges raises exception on invalid attrs
Introduce ChangesValidator class
Rework how changes get applied to mesh with valid?