public function registerResolver($resolver, array $config = array())
    {
        if(!($resolver instanceof FilesystemMimetypeInterface))
        {
            if(is_string($resolver) && strpos($resolver, '.') === false )
            {
                $identifier = $this->getIdentifier()->toArray();
                $identifier['path'][] = 'mimetype';
                $identifier['name'] = $resolver;

                $identifier = $this->getIdentifier($identifier);
            }
            else $identifier = $this->getIdentifier($resolver);

            $resolver = $identifier;
        }
        else $identifier = $resolver->getIdentifier();

        //Merge the config for the resolver
        $identifier->getConfig()->merge($config);

        //Store the resolver
        $name = $identifier->name;

        if(isset($this->__resolvers[$name])) {
            unset($this->__resolvers[$name]);
        }

        $this->__resolvers[$name] = $resolver;

        return $this;
    }