Marking as done, and moving to an archive branch, could certainly be combined in a script, or an extension command to which a key could be bound, but before you commit your time to details, it might be worth looking at this thread:
( There is some possibility, I believe, of generally switching the UI defaults to a more flexible status attribute )