reload/save operations return a promise wich can resolve/reject