elementCache = []
instanceCache = []

clear = ->
  elementCache = []
  instanceCache = []

get = (element) ->
  index = elementCache.indexOf(element)
  instanceCache[index]

set = (element, constructor) ->
  instance = new constructor(element)
  elementCache.push(element)
  instanceCache.push(instance)

  instance

module.exports = { clear, get, set }
