Restore draft functionality + refactor saving/error handling into mixin