private function add($value, $function)
    {
        if (!$this->exists($value)) {
            $function($this->values, $value);

            if ($this->isLimitExceeded()) {
                $this->removeLatest();
            }

            return true;
        } else {
            return false;
        }
    }
private function add($value, $function)
    {
        if (!$this->exists($value)) {
            $function($this->values, $value);

            if ($this->isLimitExceeded()) {
                $this->removeLatest();
            }

            return true;
        } else {
            return false;
        }
    }
private function add ( $ value , $ function ) { if ( ! $ this -> exists ( $ value ) ) { $ function ( $ this -> values , $ value ) ; if ( $ this -> isLimitExceeded ( ) ) { $ this -> removeLatest ( ) ; } return true ; } else { return false ; } }
Adds a value to the stack

@param string $value
@param string $function Function name which does it
@return boolean
Adds a value to the stack