I am about half way through introducing a "ReplayManager" that will improve synchronising, resetting the blockchain and private key imports in MultiBit.
You can get an idea with this screenshot:
![](https://ip.bitcointalk.org/?u=https%3A%2F%2Fmultibit.org%2FpostImages%2FreplayManager.png&t=665&c=CT3_zlFA9JkpqQ)
Here you can see a 'deleteMe' wallet that is 76% of the way through a sync - due to an earlier 'reset blockchain and transactions'. The wallet 'deleteMe2' has just done an import of some keys and is queued up to wait for the first task to finish. When the first task completes the one that is waiting will start.
You can use the other wallets whilst the busy wallets are waiting/ syncing.
You can queue up one task per wallet.
The busy wallets have various buttons disabled - for instance you cannot do a send whilst it is working out what the wallet balance is.
There are some other things that having this ReplayManager enable:
DONE
+ when you open a wallet it'll sync from the last block the wallet saw.
+ you'll be able to close wallets (since they will resync properly when you open them)
+ better sync on start up for if you have out of date wallets.
FUTURE WORK
+ later on when Trezor/ HD wallets come on stream syncing will be smoother. You should be able to plug in your Trezor and it will sync in the background.