final public function updateColumns(array $data, array $allowedColumns = array())
    {
        foreach ($data as $column => $values) {
            foreach ($values as $id => $value) {
                // Protection. Update only defined columns
                if (!empty($allowedColumns) && !in_array($column, $allowedColumns)) {
                    continue;
                }

                $this->updateColumnByPk($id, $column, $value);
            }
        }

        return true;
    }