#17 make distributions immutable
#17 provide toString method
#11 provide toString method for instances
#8 implement first version of feature definitions