The attributes must be a plain object or a form element, things like backbone models etc are not supported.
If you want to use async validation you need to use a runtime that supports Promises.
You can tell to use any A compatible promise implemention like this: There are already many validation libraries out there today but most of them are very tightly coupled to a language or framework.
If you want to modify which values are considered empty for example you can simply overwrite You can find some basic examples included in the project.
They are meant to give a feeling for how to use the library and should not be considered production ready code.