added RoundHole model, tweaked data model; created ModelStore base class for *Store classes