Datasets should be stored as reactive values

This allows changes to the dataset (i.e. adding columns) to be
propagated throughout the app.