Organize workspace API into sections. Add ::getActiveTextEditor