My preferred abstraction - in the future, not in this CL - would be to have an abstract editor class. AceEditor would be one concrete implementation of that.