public RegistrationHandle replace(final CommandName name,
final Provider<Command> cmd) {
final ConcurrentMap<String, Provider<Command>> m = getMap();
m.put(name.value(), cmd);
return new RegistrationHandle() {
@Override
public void remove() {
m.remove(name.value(), cmd);
}
};