A javascript library for making async operations cancellable