Add a de-duplicator and update remove() to re-index the list by ID.

The list needs to be re-indexed we really delete from the list, rather
than setting to undefined/null.