Subclasses should implement this method to collect a Datum.
Datum
Can return null if no data is available. Can return an ErrorDatum if an error occurs.
null
ErrorDatum
@override Future<Datum?> getDatum() async => null;