Use the native text objects --- in particular, this will get you emacs style editing keyboard shortcuts
Support drag-drop
Support Services --- bonus points for implementing core functionality as a Service and making it available thus