Index: quintagroup.seoptimizer/branches/3.0.1-cleanup/quintagroup/seoptimizer/adapters.py
===================================================================
--- quintagroup.seoptimizer/branches/3.0.1-cleanup/quintagroup/seoptimizer/adapters.py	(revision 2251)
+++ quintagroup.seoptimizer/branches/3.0.1-cleanup/quintagroup/seoptimizer/adapters.py	(revision 2262)
@@ -8,4 +8,6 @@
 from quintagroup.seoptimizer.interfaces import IMetaKeywords, IMappingMetaTags
 from quintagroup.seoptimizer.browser.seo_configlet import ISEOConfigletSchema
+
+from browser.interfaces import ISEOContext
 
 METADATA_MAPS = dict([
@@ -37,6 +39,5 @@
         """
         meta_keywords = []
-        seo_context = queryMultiAdapter((self.context, self.context.REQUEST),
-                                        name='seo_context')
+        seo_context = queryMultiAdapter((self.context, self.context.REQUEST), ISEOContext)
         if seo_context:
             meta_keywords = list(seo_context['meta_keywords'])
Index: quintagroup.seoptimizer/branches/3.0.1-cleanup/quintagroup/seoptimizer/browser/configure.zcml
===================================================================
--- quintagroup.seoptimizer/branches/3.0.1-cleanup/quintagroup/seoptimizer/browser/configure.zcml	(revision 2251)
+++ quintagroup.seoptimizer/branches/3.0.1-cleanup/quintagroup/seoptimizer/browser/configure.zcml	(revision 2262)
@@ -64,12 +64,4 @@
 
     <browser:page
-        name="seo_context"
-        for="*"
-        class=".views.SEOContext"
-        layer=".interfaces.IPloneSEOLayer"
-        permission="zope2.View"
-        />
-
-    <browser:page
         name="seo-context-properties"
         for="*"
@@ -82,3 +74,9 @@
     <browser:resourceDirectory name="quintagroup.seoptimizer" directory="./resources" />
 
+  <!--Adapters-->
+  <adapter
+      for="*
+           zope.publisher.interfaces.browser.IBrowserRequest"
+      factory=".views.SEOContext"/>
+
 </configure>
Index: quintagroup.seoptimizer/branches/3.0.1-cleanup/quintagroup/seoptimizer/browser/interfaces.py
===================================================================
--- quintagroup.seoptimizer/branches/3.0.1-cleanup/quintagroup/seoptimizer/browser/interfaces.py	(revision 2251)
+++ quintagroup.seoptimizer/branches/3.0.1-cleanup/quintagroup/seoptimizer/browser/interfaces.py	(revision 2262)
@@ -14,2 +14,7 @@
             2. Parse *text* and validate each extracted keyword
                for appearing on the context page """
+
+class ISEOContext(Interface):
+    """
+    """
+
Index: quintagroup.seoptimizer/branches/3.0.1-cleanup/quintagroup/seoptimizer/browser/templates/seo_context_properties.pt
===================================================================
--- quintagroup.seoptimizer/branches/3.0.1-cleanup/quintagroup/seoptimizer/browser/templates/seo_context_properties.pt	(revision 2251)
+++ quintagroup.seoptimizer/branches/3.0.1-cleanup/quintagroup/seoptimizer/browser/templates/seo_context_properties.pt	(revision 2262)
@@ -30,5 +30,5 @@
                     Iterator python:modules['Products.CMFPlone'].IndexIterator;
                     tabindex python:Iterator(mainSlot=False);
-		    seo_context here/@@seo_context"><!--TODO:implement validation and errors handling-->
+		    seo_context view/seo_context"><!--TODO:implement validation and errors handling-->
       <h1 i18n:translate="heading_edit_seo_properties">Edit SEO Properties</h1>
       <div class="documentDescription" i18n:translate="description_edit_seo_properties">
Index: quintagroup.seoptimizer/branches/3.0.1-cleanup/quintagroup/seoptimizer/browser/viewlets.py
===================================================================
--- quintagroup.seoptimizer/branches/3.0.1-cleanup/quintagroup/seoptimizer/browser/viewlets.py	(revision 2251)
+++ quintagroup.seoptimizer/branches/3.0.1-cleanup/quintagroup/seoptimizer/browser/viewlets.py	(revision 2262)
@@ -16,4 +16,6 @@
 
 from Products.CMFPlone.PloneTool import *
+
+from interfaces import ISEOContext
 
 class SEOTagsViewlet( ViewletBase ):
@@ -34,5 +36,5 @@
         pps = queryMultiAdapter((self.context, self.request), name="plone_portal_state")
         seo_global = queryAdapter(pps.portal(), ISEOConfigletSchema)
-        seo_context = queryMultiAdapter((self.context, self.request), name='seo_context')
+        seo_context = queryMultiAdapter((self.context, self.request), ISEOContext)
 
         use_all = seo_global.exposeDCMetaTags
@@ -151,6 +153,5 @@
         self.context_state = getMultiAdapter((self.context, self.request),
                                              name=u'plone_context_state')
-        self.seo_context = getMultiAdapter((self.context, self.request),
-                                             name=u'seo_context')
+        self.seo_context = getMultiAdapter((self.context, self.request), ISEOContext)
 
         self.override_title = self.seo_context['has_seo_title']
@@ -206,5 +207,5 @@
     """
     def render( self ):
-        seoc = getMultiAdapter((self.context, self.request), name=u'seo_context')
+        seoc = getMultiAdapter((self.context, self.request), ISEOContext)
         if seoc['seo_canonical']:
             return """<link rel="canonical" href="%s" />""" % seoc['seo_canonical']
Index: quintagroup.seoptimizer/branches/3.0.1-cleanup/quintagroup/seoptimizer/browser/views.py
===================================================================
--- quintagroup.seoptimizer/branches/3.0.1-cleanup/quintagroup/seoptimizer/browser/views.py	(revision 2251)
+++ quintagroup.seoptimizer/branches/3.0.1-cleanup/quintagroup/seoptimizer/browser/views.py	(revision 2262)
@@ -1,9 +1,11 @@
 from time import time
+
 from DateTime import DateTime
 from Acquisition import aq_inner
 from zope.component import queryAdapter
 from zope.component import queryMultiAdapter
+from zope.component import adapts
+from zope.interface import implements
 from zope.schema.interfaces import InvalidValue
-
 from plone.memoize import view, ram
 
@@ -17,4 +19,6 @@
 from quintagroup.seoptimizer.browser.seo_configlet import ISEOConfigletSchema
 from quintagroup.seoptimizer import SeoptimizerMessageFactory as _
+
+from interfaces import ISEOContext
 
 SEPERATOR = '|'
@@ -28,12 +32,13 @@
     return (self.pps.portal(), time() // (60 * 60))
 
-class SEOContext( BrowserView ):
+class SEOContext(object):
     """ This class contains methods that allows to edit html header meta tags.
     """
-
-    def __init__(self, *args, **kwargs):
-        super(SEOContext, self).__init__(*args, **kwargs)
-        self.pps = queryMultiAdapter((self.context, self.request), name="plone_portal_state")
-        self.pcs = queryMultiAdapter((self.context, self.request), name="plone_context_state")
+    implements(ISEOContext)
+
+    def __init__(self, context, request):
+        self.context, self.request = context, request
+        self.pps = queryMultiAdapter((context, request), name="plone_portal_state")
+        self.pcs = queryMultiAdapter((context, request), name="plone_context_state")
         self.gseo = queryAdapter(self.pps.portal(), ISEOConfigletSchema)
         self._seotags = self._getSEOTags()
@@ -171,4 +176,7 @@
         """
         return ''
+
+    def seo_context(self):
+        return queryMultiAdapter((self.context, self.request), ISEOContext)
 
     def setProperty(self, property, value, type='string'):
