Index: uspace/srv/vfs/vfs.c
===================================================================
--- uspace/srv/vfs/vfs.c	(revision 758f8d55da31118ef5accb99051c4f46cc5c880a)
+++ uspace/srv/vfs/vfs.c	(revision 88205440caa3e827197cd095139acca02b989d5e)
@@ -38,6 +38,4 @@
 #include <vfs/vfs.h>
 #include <ipc/services.h>
-#include <abi/ipc/event.h>
-#include <event.h>
 #include <ns.h>
 #include <async.h>
@@ -53,8 +51,4 @@
 #define NAME  "vfs"
 
-enum {
-	VFS_TASK_STATE_CHANGE
-};
-
 static void vfs_connection(ipc_callid_t iid, ipc_call_t *icall, void *arg)
 {
@@ -145,17 +139,11 @@
 }
 
-static void notification_received(ipc_callid_t callid, ipc_call_t *call)
+static void notification_handler(ipc_callid_t callid, ipc_call_t *call, void *arg)
 {
-	switch (IPC_GET_IMETHOD(*call)) {
-	case VFS_TASK_STATE_CHANGE:
-		if (IPC_GET_ARG1(*call) == VFS_PASS_HANDLE)
-			vfs_pass_handle(
-			    (task_id_t) MERGE_LOUP32(IPC_GET_ARG4(*call),
-			    IPC_GET_ARG5(*call)), call->in_task_id,
-			    (int) IPC_GET_ARG2(*call));
-		break;
-	default:
-		break;
-	}
+	if (IPC_GET_ARG1(*call) == VFS_PASS_HANDLE)
+		vfs_pass_handle(
+		    (task_id_t) MERGE_LOUP32(IPC_GET_ARG4(*call),
+		    IPC_GET_ARG5(*call)), call->in_task_id,
+		    (int) IPC_GET_ARG2(*call));
 }
 
@@ -196,8 +184,8 @@
 
 	/*
-	 * Set notification handler and subscribe to notifications.
-	 */
-	async_set_interrupt_received(notification_received);
-	event_task_subscribe(EVENT_TASK_STATE_CHANGE, VFS_TASK_STATE_CHANGE);
+	 * Subscribe to notifications.
+	 */
+	async_event_task_subscribe(EVENT_TASK_STATE_CHANGE, notification_handler,
+	    NULL);
 	
 	/*
