darc A library providing a chained data cursor to allow querying, manipulation and monitoring of data from multiple asynchronous data sources