client.go
func (client *Client) Start() error {
	var err error
	service := client.service
	if !service.started {
		server := rpc.NewServer()
		server.Register(service)
		server.HandleHTTP(client.path, "/debug"+client.path)
		l, err := net.Listen("tcp", client.address)
		if err == nil {
			service.wg.Add(1)
			service.started = true
			go http.Serve(l, nil)	
		}	
	} else {
		err = errors.New("Client service already started")
	}
	return err
}
func (client *Client) Start() error {
	var err error
	service := client.service
	if !service.started {
		server := rpc.NewServer()
		server.Register(service)
		server.HandleHTTP(client.path, "/debug"+client.path)
		l, err := net.Listen("tcp", client.address)
		if err == nil {
			service.wg.Add(1)
			service.started = true
			go http.Serve(l, nil)	
		}	
	} else {
		err = errors.New("Client service already started")
	}
	return err
}
// Start - starts the client service to listen to remote events