make Annotator modify a copy of data instead of the original
fix typo
remove redundant assignment
add dispatcher with persistence