According to comments on bi-weekly meeting, this patch put back old APIs and added new _async series
I'd prefer to always call sync and it's a noop if it should be. Oh, they are optional now. OK.
Yes, basically if synchronize is nullptr, all operations will fall back to synchronous version.