a bit more state management
dirty includes at reindex time
cursor modes