How to read HD44780 LCD programmatically

I also thought of a lcd.read(*buf); that reads into buffer until end of line OR until a non-ascii (e.g. space) is encountered.
and what to think of lcd.readFloat();

and yes, these are all "intelligent" wrappers around reading a single char.