După cum putem vedea, pentru a comunica corect obiecte, avem nevoie de un fel de mecanism de stocare pentru obiecte:
storeObject(object) -> f64 - Stochează un obiect și returnează un identificator
numeric.
getObject(f64) -> object - Obține o referință la un obiect prin identificatorul
său numeric.
releaseObject(f64) -> object - Eliberează o referință la un obiect din
spațiul de stocare, permițând eliberarea memoriei sale.
Implementarea unei astfel de funcționalități se numește alocator. Acesta este dincolo de sfera acestui tutorial. Ne-am putea imagina o implementare foarte simplă a acestuia și anume un vector în creștere continuă astfel încât un obiect este stocat în vector și indicele său este returnat ca identificator.
  let storage = [];
  function storeObject(obj){
    let index = storage.length;
    storage.push(obj);
    return index;
  }
  function getObject(handle){
    return storage[handle];
  }
  function releaseObject(handle){
    return storage[handle] = null;
  }
Sunt multe aspecte pe care trebuie să le luăm în considerare în implementarea noastră.