Create a group structure, where the root agent is some abstract rescue unit,
which has helicopters, ambulances and police units and homogeneous sub-units
To make sure that there is only one graph model used by all views that
want to represent tasks in a graph, we have a singleton graph model
factory here.
Each subclass of Activity should have a static counter of how many
activities have been created, so that we may create unique new names for
newly created activities.