nit: I'd simplify to something like

```
if (options.transition) {
  options.transition();
} else {
  remove();
  append();
}
```

Rather than having that decision spread across 3 conditionals.