code: @Override
  	public void bind(ServiceBindingDescriptor bindingDescriptor) {
          String servicePlusMajorVersion=bindingDescriptor.getServiceName() +
                  "-v" + bindingDescriptor.getServiceVersion().getMajor();
  
          if (serviceBindingDescriptors.containsKey(servicePlusMajorVersion)) {
                  throw new PanicInTheCougar("More than one version of service [" + bindingDescriptor.getServiceName() +
                          "] is attempting to be bound for the same major version. The clashing versions are [" +
                          serviceBindingDescriptors.get(servicePlusMajorVersion).getServiceVersion() + ", " +
                          bindingDescriptor.getServiceVersion() +
                          "] - only one instance of a service is permissable for each major version");
          }
  		serviceBindingDescriptors.put(servicePlusMajorVersion, bindingDescriptor);
  	}
docs: Adds the binding descriptor to a list for binding later. The actual
  binding occurs onCougarStart, to be implemented by subclasses, when it
  can be guaranteed that all services have been registered with the EV.