A library for HD44780 based LCDs. This library using only 4-bits databus to save MCU I/O pins along with RS, EN, and RW pins. It has ability to edit some text right on the LCD screen, eg. insert and delete a character, backspace, move cursor in all directions (left, right, up, and down), newline, line home, and line end. It also supports println() method, read character or text right from the LCD screen (no longer need to waste some expensive MCU RAMs to buffering the text currently being edited). So you can edit your text on the screen without messing with complex code. All used I/O pins, except EN pin, are shareable with other hardware. For example if it used with a matrix keypad, then the databus pins (DB4, DB5, DB6, and DB7) can be shared with the keypad column only or the row pins only. Do not share them with mixed any column and row pins together to avoid unexpected behaviour on accessing the LCD while a key is being pressed.