A common use-case is returning nothing from an action. This provides a
simple, type-safe class for such results.
Note: Subclasses should provide both an empty constructor for
serialization and a constructor with a single value for normal use. It is
recommended that the empty constructor is private or package-private.