Domain specification
A domain must inherit this class if multiple events/actions can happen in parallel.
A domain must inherit this class if its events/actions are sequential (non-parallel).