A common use-case is returning a single value 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.