refactor ListenableFutureTask and make saves async

// FREEBIE