make it per-editor customizable, add callbacks, and use them to make the special first line mixin work properly when it is enabled