Как да направим Storage-a от първото домашно да работи асинхронно?

Здравейте, от няколко часа се мъча със Storage-a от първото домашно. След като написах синхронния вариант, очаквах асинхронния да стане за 10тина минути., но уви не се получи така! Счупи се и не работи както трябва. Пробвах да проверявам за съществуването на файла с fs.stat(path, callback) и след това да чета с fs.readFile(path, callback), но не стана. Асинхронността в методите load() и save() обърка нещата. Как би могло да стане, така че операциите в index.js да се изпънят последователно и коректно?

Това са примерните операции дадени в условието:

storage.load()

storage.put('first','firstValue')

storage.put('second','secondValue')

storage.put('third','thirdValue')

storage.put('fouth','fourthValue')

console.log(storage.get('first'))

console.log(storage.getAll())

storage.delete('second')

storage.update('first','updatedFirst')

storage.save()

storage.clear()

console.log(storage.getAll())

storage.load()

console.log(storage.getAll())