Index: xwiki-bridge/src/main/java/org/xwiki/bridge/DocumentAccessBridge.java
===================================================================
--- xwiki-bridge/src/main/java/org/xwiki/bridge/DocumentAccessBridge.java	(revision 14273)
+++ xwiki-bridge/src/main/java/org/xwiki/bridge/DocumentAccessBridge.java	(working copy)
@@ -19,6 +19,8 @@
  */
 package org.xwiki.bridge;
 
+import java.util.Date;
+
 /**
  * Exposes methods for accessing Document data. This is temporary until we remodel the Model classes and the Document
  * services.
@@ -147,4 +149,63 @@
      * @throws Exception If the document or the attachment cannot be accessed
      */
     String getAttachmentURL(String documentName, String attachmentName) throws Exception;
+
+    /**
+     * Creates a new XWiki object of the given class name.
+     * 
+     * @param documentName The full name of the document containing the attachment (eg "wiki:Space.Page")
+     * @param className The name of the XWiki class.
+     * @return The index of the newly created object.
+     * @throws Exception If the document cannot be accessed.
+     */
+    int createNewObject(String documentName, String className) throws Exception;
+
+    /**
+     * Saves the given document.
+     * 
+     * @param documentName The full name of the document containing the attachment (eg "wiki:Space.Page")
+     * @throws Exception If the document cannot be accessed or saved.
+     */
+    void save(String documentName) throws Exception;
+
+    /**
+     * Saves the given document and adds a new comment.
+     * 
+     * @param documentName The full name of the document containing the attachment (eg "wiki:Space.Page")
+     * @param comment The comment associated with the current saving action.
+     * @throws Exception If the document cannot be accesed or saved.
+     */
+    void save(String documentName, String comment) throws Exception;
+
+    /**
+     * Saves the given document and adds a new comment. Modifies the minor or major version of the document.
+     * 
+     * @param documentName The full name of the document containing the attachment (eg "wiki:Space.Page")
+     * @param comment The comment associated with the current saving action.
+     * @param isMinorEdit Indicates if the saving affects the minor version or major version of the document.
+     * @throws Exception If the document cannot be accessed or saved.
+     */
+    void save(String documentName, String comment, boolean isMinorEdit) throws Exception;
+
+    /**
+     * Sets the value of a property in a XWiki Object.
+     * 
+     * @param documentName The full name of the document containing the attachment (eg "wiki:Space.Page")
+     * @param className The class name of the object.
+     * @param objectNumber The index of the object.
+     * @param propertyName The name of the property to change.
+     * @param value The new value of the property.
+     * @throws Exception If the document cannot be accessed.
+     */
+    void setPropertyValue(String documentName, String className, int objectNumber, String propertyName, Object value)
+        throws Exception;
+
+    /**
+     * Sets the content of a document.
+     * 
+     * @param documentName The full name of the document containing the attachment (eg "wiki:Space.Page")
+     * @param content The new content.
+     * @throws Exception If document cannot be accessed.
+     */
+    void setDocumentContent(String documentName, String content) throws Exception;
 }
Index: xwiki-core/src/main/java/com/xpn/xwiki/doc/DefaultDocumentAccessBridge.java
===================================================================
--- xwiki-core/src/main/java/com/xpn/xwiki/doc/DefaultDocumentAccessBridge.java	(revision 14273)
+++ xwiki-core/src/main/java/com/xpn/xwiki/doc/DefaultDocumentAccessBridge.java	(working copy)
@@ -19,12 +19,18 @@
  */
 package com.xpn.xwiki.doc;
 
+import java.util.Date;
 import java.util.List;
 
+import javax.print.Doc;
+
+import org.apache.ecs.html.Base;
 import org.xwiki.bridge.DocumentAccessBridge;
 import org.xwiki.context.Execution;
 
+import com.xpn.xwiki.XWiki;
 import com.xpn.xwiki.XWikiContext;
+import com.xpn.xwiki.objects.BaseObject;
 import com.xpn.xwiki.objects.BaseProperty;
 import com.xpn.xwiki.objects.classes.PropertyClass;
 
@@ -41,12 +47,33 @@
     /** Execution context handler, needed for accessing the XWikiContext. */
     private Execution execution;
 
+    /**
+     * @return The old XWikiContext.
+     */
     private XWikiContext getContext()
     {
         return (XWikiContext) this.execution.getContext().getProperty("xwikicontext");
     }
 
     /**
+     * Returns the current instance of the specified document
+     * 
+     * @param documentFullName
+     * @return
+     * @throws Exception
+     */
+    private XWikiDocument getDocument(String documentFullName) throws Exception
+    {
+        XWikiDocument doc = (XWikiDocument) execution.getContext().getProperty(documentFullName);
+        if (doc == null) {
+            XWikiContext context = getContext();
+            doc = context.getWiki().getDocument(documentFullName, context);
+            execution.getContext().setProperty(documentFullName, doc);
+        }
+        return doc;
+    }
+
+    /**
      * {@inheritDoc}
      * 
      * @see DocumentAccessBridge#getDocumentContent(String)
@@ -141,7 +168,7 @@
     public String getPropertyType(String className, String propertyName) throws Exception
     {
         XWikiContext xcontext = getContext();
-        PropertyClass pc = xcontext.getWiki().getPropertyClassFromName(className+"_"+propertyName, xcontext);
+        PropertyClass pc = xcontext.getWiki().getPropertyClassFromName(className + "_" + propertyName, xcontext);
         if (pc == null) {
             return null;
         } else {
@@ -200,4 +227,77 @@
         return xcontext.getWiki().getAttachmentURL(
             documentName == null ? xcontext.getDoc().getFullName() : documentName, attachmentName, xcontext);
     }
+
+    /**
+     * {@inheritDoc}
+     * 
+     * @see DocumentAccessBridge#createNewObject(String, String)
+     */
+    public int createNewObject(String documentName, String className) throws Exception
+    {
+        XWikiContext xcontext = getContext();
+        return xcontext.getWiki().getDocument(documentName, xcontext).createNewObject(className, xcontext);
+    }
+
+    /**
+     * {@inheritDoc}
+     * 
+     * @see DocumentAccessBridge#save(String)
+     */
+    public void save(String documentName) throws Exception
+    {
+        XWikiContext xcontext = getContext();
+        XWikiDocument doc = getDocument(documentName);
+        xcontext.getWiki().saveDocument(doc, xcontext);
+    }
+
+    /**
+     * {@inheritDoc}
+     * 
+     * @see DocumentAccessBridge#save(String, String)
+     */
+    public void save(String documentName, String comment) throws Exception
+    {
+        XWikiContext xcontenxt = getContext();
+        XWikiDocument doc = getDocument(documentName);
+        xcontenxt.getWiki().saveDocument(doc, comment, xcontenxt);
+    }
+
+    /**
+     * {@inheritDoc}
+     * 
+     * @see DocumentAccessBridge#save(String, String, boolean)
+     */
+    public void save(String documentName, String comment, boolean isMinorEdit) throws Exception
+    {
+        XWikiContext xcontenxt = getContext();
+        XWikiDocument doc = getDocument(documentName);
+        xcontenxt.getWiki().saveDocument(doc, comment, isMinorEdit, xcontenxt);
+    }
+
+    /**
+     * {@inheritDoc}
+     * 
+     * @see DocumentAccessBridge#setDocumentContent(String, String)
+     */
+    public void setDocumentContent(String documentName, String content) throws Exception
+    {
+        XWikiContext xconContext = getContext();
+        XWikiDocument doc = getDocument(documentName);
+        doc.setContent(content);
+    }
+
+    /**
+     * {@inheritDoc}
+     * 
+     * @see DocumentAccessBridge#setPropertyValue(String, String, int, String, Object)
+     */
+    public void setPropertyValue(String documentName, String className, int objectNumber, String propertyName,
+        Object value) throws Exception
+    {
+        XWikiContext xcontext = getContext();
+        XWikiDocument doc = getDocument(documentName);
+        BaseObject bobj = doc.getObject(className, objectNumber);
+        bobj.set(propertyName, value, xcontext);
+    }
 }
Index: xwiki-rendering/src/test/java/org/xwiki/rendering/internal/MockDocumentAccessBridge.java
===================================================================
--- xwiki-rendering/src/test/java/org/xwiki/rendering/internal/MockDocumentAccessBridge.java	(revision 14273)
+++ xwiki-rendering/src/test/java/org/xwiki/rendering/internal/MockDocumentAccessBridge.java	(working copy)
@@ -19,6 +19,8 @@
  */
 package org.xwiki.rendering.internal;
 
+import java.util.Date;
+
 import org.xwiki.bridge.DocumentAccessBridge;
 import org.xwiki.component.descriptor.ComponentDescriptor;
 import org.xwiki.component.descriptor.DefaultComponentDescriptor;
@@ -112,4 +114,38 @@
     {
         throw new RuntimeException("Not implemented");
     }
+
+    public int createNewObject(String documentName, String className) throws Exception
+    {
+        throw new RuntimeException("Not implemented");
+    }
+
+    public void save(String documentName) throws Exception
+    {
+        throw new RuntimeException("Not implemented");        
+    }
+
+    public void save(String documentName, String comment) throws Exception
+    {
+        throw new RuntimeException("Not implemented");        
+    }
+
+    public void save(String documentName, String comment, boolean isMinorEdit) throws Exception
+    {
+        throw new RuntimeException("Not implemented");        
+    }
+
+    public void setDocumentContent(String documentName, String content) throws Exception
+    {
+        throw new RuntimeException("Not implemented");        
+    }
+
+    public void setPropertyValue(String documentName, String className, int objectNumber, String propertyName,
+        Object value) throws Exception
+    {
+        throw new RuntimeException("Not implemented");        
+    }
+
+
+    
 }
