code: func NewMemoryStorer(maxAge, cleanInterval time.Duration) (*MemoryStorer, error) {
  	if (maxAge != 0 && cleanInterval == 0) || (cleanInterval != 0 && maxAge == 0) {
  		panic("if max age or clean interval is set, the other must also be set")
  	}
  
  	m := &MemoryStorer{
  		sessions:      make(map[string]memorySession),
  		maxAge:        maxAge,
  		cleanInterval: cleanInterval,
  	}
  
  	return m, nil
  }
docs: // NewMemoryStorer initializes and returns a new MemoryStorer object.
  // It takes the maxAge of how long each session should live in memory,
  // and a cleanInterval duration which defines how often the clean
  // task should check for maxAge sessions to be removed from memory.
  // Persistent storage can be attained by setting maxAge and cleanInterval
  // to zero, however the memory will be wiped when the server is restarted.