Added support for iterable datapoints

This patch adds support for iterable datapoints, building on my previous work around all this stuff.