code: func GetObj(overseer Overseer, w http.ResponseWriter, r *http.Request, pointer interface{}) error {
  	val, err := overseer.Get(w, r)
  	if err != nil {
  		return errors.Wrap(err, "unable to get session")
  	}
  
  	var sess session
  	// json unmarshal the outter session struct
  	err = json.Unmarshal([]byte(val), &sess)
  	if err != nil {
  		return errors.Wrap(err, "unable to unmarshal session object")
  	}
  
  	// json unmarshal the RawMessage value into the users pointer
  	err = json.Unmarshal(*sess.Value, pointer)
  	return errors.Wrap(err, "unable to unmarshal session value into pointer")
  }
docs: // GetObj is a JSON helper used for retrieving object or variable session values.
  // GetObj unmarshals the session value into the pointer pointed to by pointer.