Use replaceAnnotations() for better performance

* this method avoids firing events until all replacements are complete
* when many annotations are added at once, the performance difference is
noticeable
* also less code :)