public function resolveMeta($action, $arguments)
    {
        // Model meta data is saved as single record. In this
        // case meta data key is always model slug, so to
        // be sure, we overwrite this argument.
        if ($this->isPreservedAs('single')) {
            $arguments[1] = $this->getSlug();

            return $this->{"{$action}Meta"}($arguments);
        }

        // Model meta data is saved as multiple records. Unserialize
        // Singularity array string, before returning the results.
        if ($this->isPreservedAs('multiple')) {
            return $this->unserializeCollection($this->{"{$action}Meta"}($arguments));
        }

        // Model meta don't have any preserve settings.
        // Just process action and nothing more.
        return $this->{"{$action}Meta"}($arguments);
    }