Added support to cancel edit using the ESC key
Broke everything down into one big function and added support for column binding