constructor takes two optional arguments (in this order if both specified): scalar string for datastore name; hashref containing configuration