Async validation

Merge asynchronous-validation feature.