code: func (b *ETCDBindingStorage) Init() error {
  	var cli *clientv3.Client
  	var err error
  	if b.cli == nil {
  		cli, err = clientv3.New(clientv3.Config{
  			Endpoints:   b.etcdEndpoints,
  			DialTimeout: b.etcdDialTimeout,
  		})
  		if err != nil {
  			return err
  		}
  		b.cli = cli
  	}
  	// namespaced etcd :)
  	b.cli.KV = namespace.NewKV(b.cli.KV, b.etcdPrefix)
  	err = b.bootstrapLease()
  	if err != nil {
  		return err
  	}
  
  	if b.thisServer.Frontend {
  		b.setupOnSessionCloseCB()
  		b.setupOnAfterSessionBindCB()
  	}
  
  	return nil
  }
docs: // Init starts the binding storage module