public function where($column, $value = null)
    {
        if (!isset($this->query['where'])) {
            $this->query['where'] = array();
        }

        // Are we merging this with the previous?
        // This is used when coming out of Model.
        if ($this->mergeNextWhere and count($this->query['where']) > 0) {
            $this->mergeNextWhere = false;
            return $this->_and($column, $value);
        }

        // Array? too easy
        if (is_array($column)) {
            $this->query['where'][] = $column;
        } else {
            $this->query['where'][] = array($column => $value);
        }

        return $this;
    }