diff --git a/lib/activitymanager.php b/lib/private/activitymanager.php
similarity index 60%
rename from lib/activitymanager.php
rename to lib/private/activitymanager.php
index c1338d873fa827d35a322ce196fdc0dea38a1236..7e7e22578746cede8edc834dede5007e19bbaa0b 100755
--- a/lib/activitymanager.php
+++ b/lib/private/activitymanager.php
@@ -10,24 +10,44 @@ namespace OC;
 
 
 use OCP\Activity\IConsumer;
+use OCP\Activity\IManager;
 
-class ActivityManager implements \OCP\Activity\IManager {
+class ActivityManager implements IManager {
 
 	private $consumers = array();
 
 	/**
 	 * @param $app
 	 * @param $subject
+	 * @param $subjectParams
 	 * @param $message
+	 * @param $messageParams
 	 * @param $file
 	 * @param $link
+	 * @param $affectedUser
+	 * @param $type
+	 * @param $priority
 	 * @return mixed
 	 */
-	function publishActivity($app, $subject, $message, $file, $link) {
+	function publishActivity($app, $subject, $subjectParams, $message, $messageParams, $file, $link, $affectedUser, $type, $priority) {
 		foreach($this->consumers as $consumer) {
 			$c = $consumer();
 			if ($c instanceof IConsumer) {
-				$c->receive($app, $subject, $message, $file, $link);
+				try {
+				$c->receive(
+					$app,
+					$subject,
+					$subjectParams,
+					$message,
+					$messageParams,
+					$file,
+					$link,
+					$affectedUser,
+					$type,
+					$priority);
+				} catch (\Exception $ex) {
+					// TODO: log the excepetion
+				}
 			}
 
 		}
@@ -45,4 +65,5 @@ class ActivityManager implements \OCP\Activity\IManager {
 	function registerConsumer(\Closure $callable) {
 		array_push($this->consumers, $callable);
 	}
+
 }
diff --git a/lib/public/activity/iconsumer.php b/lib/public/activity/iconsumer.php
index 4b82bc01b056aa3eba7adc2234e93a2304778a5e..ca9bd5096b38552c9dec89419ca6424a11cc3a2a 100644
--- a/lib/public/activity/iconsumer.php
+++ b/lib/public/activity/iconsumer.php
@@ -24,6 +24,19 @@
 namespace OCP\Activity;
 
 interface IConsumer {
-	function receive($app, $subject, $message, $file, $link);
+	/**
+	 * @param $app
+	 * @param $subject
+	 * @param $subjectParams
+	 * @param $message
+	 * @param $messageParams
+	 * @param $file
+	 * @param $link
+	 * @param $affectedUser
+	 * @param $type
+	 * @param $priority
+	 * @return mixed
+	 */
+	function receive($app, $subject, $subjectParams, $message, $messageParams, $file, $link, $affectedUser, $type, $priority );
 }
 
diff --git a/lib/public/activity/imanager.php b/lib/public/activity/imanager.php
index 9cba2db7e7f7f927852953cc4083c7b229a22bbb..99ac2a1958edbb6ba2efd301e2084396d7014b95 100644
--- a/lib/public/activity/imanager.php
+++ b/lib/public/activity/imanager.php
@@ -28,12 +28,17 @@ interface IManager {
 	/**
 	 * @param $app
 	 * @param $subject
+	 * @param $subjectParams
 	 * @param $message
+	 * @param $messageParams
 	 * @param $file
 	 * @param $link
+	 * @param $affectedUser
+	 * @param $type
+	 * @param $priority
 	 * @return mixed
 	 */
-	function publishActivity($app, $subject, $message, $file, $link);
+	function publishActivity($app, $subject, $subjectParams, $message, $messageParams, $file, $link, $affectedUser, $type, $priority);
 
 	/**
 	 * In order to improve lazy loading a closure can be registered which will be called in case