First cut at progress dialog with abort
Significantly cut down hanging time