Move Along Path: add extradata writing, undo support and validation for macros