     else 
       "No factoid for #{key}. It can't also be #{val} if it isn't already something."
 
+  setFactoid: (key, val) ->
+    @cache[key] = val
+    @robot.brain.data.factoids = @cache
+    "OK. #{key} is #{val} "
+
   niceGet: (key) ->
-    @cache[key] or "No factoid for #{key}"
+    this.get key or "No factoid for #{key}"
 
   get: (key) ->
     @cache[key]

    factoid = factoids.get msg.match[1]
    if factoid
      msg.reply msg.match[1] + " is " + factoid

    if @cache[key]
      "#{key} is already #{@cache[key]}"
    else 
      this.setFactoid key, val

  append: (key, val) ->
    if @cache[key]
