rework async to return futures for all calls, waiting only for terminal tasks. Parallel seems to be working, but Series failing tests
fix issue with exceptions in SeriesTask (had op declared twice). all tests passing now