Emacs is an abstraction layer for a non-preemptively threaded virtual machine, one application of which involves editing text, sound, video, images, etc.