Add copy constructor - use safe copy on cancel and back