This is already supported in a way, dialup users can at least run
deschall while there connected to the internet, even keep it running
and reconnect after it finishes and needs a new key to try. More
support could be implemented though, my idea for this would be to
have the server release a block of keys for the system to work on while
it's away from the internet. After reconnecting to the internet, the
client would send all completed keys out of the block to the server,
and if necessary request another block.