Editor: Reimplementing Editor class as proposed by @arodic in #3493.