public function remove($value) {
        $oldCollection = $this->getArrayCopy();
        if (!in_array($value, $oldCollection))
            return $this;

        $newCollection = array();
        foreach ($oldCollection as $val) {
            if ($val === $value)
                continue;

            $newCollection[] = $val;
        }
        $this->exchangeArray($newCollection);
        return $this;
    }