editor: transfomers might not be needed in here
line: added visual rep
input: KeyPrintable => KeyChar
editor: disallow create an editor with zero rows
main: an idea for the app and app state transformer