public function isDifferent(array $newSpec, array $keys = null)
    {
        $oldSpec = $this->toArray();
        if ($keys) {
            $keys = array_flip($keys);
            $oldSpec = array_intersect_key($oldSpec, $keys);
            $newSpec = array_intersect_key($newSpec, $keys);
        }
        return $this->_isDifferent($oldSpec, $newSpec);
    }