public function getResolverObject($state = null, array $options = array())
    {
        if ($state == null && isset($this->resolverObject['last_resolver'])) {
            // latest invoked resolver
            return $this->resolverObject['last_resolver'];
        }
        
        if ($state != 'resolver_adapter_service' && $state != 'mvclayout_resolver_adapter')
            throw new \Exception('Invalid state name provided.');
        
        // create resolver state object from config
        $config = $this->getConfig();

        if (isset($config['theme_locator']))
            $config = $config['theme_locator'];
        else
            $config = array();

        if (!isset($config[$state]))
            throw new \Exception("Theme Resolver Service not present in config[$state].");

        $config = $config[$state];
        // is string, 'resolver_adapter' => 'resolver\service'
        if (is_string($config)) {
            $config = array(
                "{$config}" => 1
            );
        }

        if (isset($this->resolverObject[$state])) {
            $resolver = $this->resolverObject[$state];

            $this->resolverObject['last_resolver'] = $resolver;

            return $resolver;
        }
        else 
            $resolver = new Resolvers\Aggregate();
        
        foreach ($config as $service => $priority)
        {
            if ($this->getServiceLocator()->has($service)) {
                $service = $this->getServiceLocator()->get($service);
            } else {
                if (!class_exists($service))
                    throw new \Exception("Resolver '$service' not found for yimaTheme as Service either Class.");

                $service = new $service();
            }

            if ($service instanceof Resolvers\LocatorResolverAwareInterface) {
                // inject themeLocator to access config and other things by resolver
                $service->setThemeLocator($this);
            }

            if ($service instanceof Resolvers\ConfigResolverAwareInterface) {
                // set yimaTheme config for resolver
                $service->setConfig($this->getConfig());
            }
            
            if (isset($options['event_mvc']))
                if ($service instanceof Resolvers\MvcResolverAwareInterface)
                	$service->setMvcEvent($options['event_mvc']);

            $resolver->attach($service, $priority);
        }
        
        $this->resolverObject[$state]          = $resolver;
        $this->resolverObject['last_resolver'] = $resolver;
        
        return $resolver;
    }