We might want to unlock somewhere? Not 100% sure of the behavior when the locked routine start other goroutines.