collection.replace() + test
emit collection change events
remove/removeItemAtIndex + tests