A generic class to hold an object that may itself be a null value versus an undefined (not existing) value.
The presence of a reference indicates that a value exists, the absence of a reference to this object indicates
that there is no value (similar to a Pair