Add async validation block.

Hi,

one thing I missed with this component is asynchronous validation - i.e. perform some backend validation.
This pull presents simple approach to this problem.