Given an event name (e.g. 'myUpdate), produce a data type like
data MyUpdate = MyUpdate Argument
along with the Method class instance, Event class instance and
the instance of the appropriate serialisation class.
However, if the event data type already exists, this will generate
the serialisation instance only. This makes it possible to call
makeAcidicWithSerialiser multiple times on the same events but
with different SerialiserSpecs, to support multiple serialisation
backends.