Event driven programming is suitable for creating non-graphical applications too because all of the features that it has are also very efficient at non-graphical as well as graphical programming. Although probably even more suitable for non-graphical than graphical, since it was designed for non-graphical. An example of a non-graphical but event driven program would be a program that detects hardware changes, it will see your specs and register them then if it changes that triggers an event that will notice the change in hardware, like one that will detect you plugging in a USB drive and realises it and takes control of the drive for your ease of access.