bugfix in Unlock function
changed lock type from string to interface{}
added func Synchronized(lock interface{}, call func())