We can't delete it, because this is the point where the data store is used to ensure that Add() returns a failure if the route exists. It might be possible to merge the two methods and using a flag, and then choosing to call either s.etcd.Set or s.etcd.Create based on the mode desired.