I know you can subscribe to the selectedTextRange with KVO to determine when the cursor changes in UITextField so that when I click a different location, the cursor changes