Changed optionalNumber and optionalText methods in PlainDataOutput to instead have names number and text correspondingly but overloaded them to take Optional<...> arguments