 globalStubbings = []
 
 module.exports = (testDouble, args, stubbedValue) ->
-  set(forDouble(testDouble), args, stubbedValue)
+  add(forDouble(testDouble), args, stubbedValue)
 
 module.exports.recall = (testDouble, args) ->
   get(forDouble(testDouble), args)

get = (tdStubbings, args) ->
  stubbingForArgs(tdStubbings, args)?.stubbedValue

set = (tdStubbings, args, stubbedValue) ->
  if stubbing = stubbingForArgs(tdStubbings, args)
    stubbing.stubbedValue = stubbedValue
  else
    tdStubbings.stubbings.push({args, stubbedValue})

forDouble = (testDouble) ->
  return stubbing if stubbing = _.find(globalStubbings, {testDouble})

    globalStubbings.push(entry)

stubbingForArgs = (tdStubbings, args) ->
  _.findLast(tdStubbings.stubbings, (stubbing) ->
    argsMatch(args, stubbing.args))

argsMatch = (args1, args2) ->
