Split out ApplicationFeature into ApplicationFeatureId (value type), ApplicationFeature (contents and members, keyed by id) and ApplicationViewModel