We should change `delegates` to a `CopyOnWriteArrayList` (or otherwise synchronize changes to it).