async-node was designed to use one uniform model to represent the  tasks and its relationship, and use library to schdule the async or sync call to make concurrency control simple, and also can provide some gurantee for application which can not use transaction to provide redo/undo operate to keep consistncy(such as nosql etc...). this library write log every step before each node runing so if there is any error, you can known which step is error by query from the log, and also can avoid duplicate call for scenario such as remoting call by same way.