func (k *Kite) addHandle(method string, handler Handler) *Method {
	authenticate := true
	if k.Config.DisableAuthentication {
		authenticate = false
	}
	m := &Method{
		name:         method,
		handler:      handler,
		authenticate: authenticate,
		handling:     k.MethodHandling,
	}
	k.handlers[method] = m
	return m
}
addHandle is an internal method to add a handler
package kite
import (
	"sync"
	"time"
	"github.com/juju/ratelimit"
)
type MethodHandling int
const (
	ReturnMethod MethodHandling = iota
	ReturnFirst
	ReturnLatest
)
type Handler interface {
	ServeKite(*Request) (result interface{}, err error)
}
type HandlerFunc func(*Request) (result interface{}, err error)
func (h HandlerFunc) ServeKite(r *Request) (interface{}, error) {
	return h(r)
}
type FinalFunc func(r *Request, resp interface{}, err error) (interface{}, error)
type Method struct {
	name string
	handler      Handler      
	preHandlers  []Handler    
	postHandlers []Handler    
	finalFuncs   []FinalFunc  
	authenticate bool
	handling MethodHandling
	initialized bool
	bucket *ratelimit.Bucket
	mu sync.Mutex  
}