public function loadItemFromKey($key, $ident, StorableInterface $item = null)
    {
        if ($item !== null) {
            $this->setModel($item);
        } else {
            $class = get_class($this->model());
            $item  = new $class;
        }

        $key = preg_replace('/[^\w-]+/', '', $key);
        // Missing parameters
        if (!$key || !$ident) {
            return $item;
        }

        $table = $this->table();
        $query = sprintf('
            SELECT
                *
            FROM
               `%s`
            WHERE
               `%s` = :ident
            LIMIT
               1', $table, $key);

        $binds = [
            'ident' => $ident
        ];

        return $this->loadItemFromQuery($query, $binds, $item);
    }