get(target, params, uid) {
    let p;
    uid = uid || target.__puid || Puid.getId(target);

    if (this.cache[uid] && this.cache[uid].length > 0) {
      p = this.cache[uid].pop();
    } else {
      p = this.createOrClone(target, params);
    }

    p.__puid = target.__puid || uid;
    return p;
  }
@todo add description

@method get
@memberof Proton#Proton.Pool

@param {Object|Function} target
@param {Object} [params] just add if `target` is a function

@return {Object}