revise mapData to support parallel actions
make setNew, setNext, setDone curried functions