diff --git a/framework/deleteusers.py b/framework/deleteusers.py
index 0c23ac5..739782e 100644
--- a/framework/deleteusers.py
+++ b/framework/deleteusers.py
@@ -32,6 +32,7 @@
   return credentials.authorize(httplib2.Http(timeout=60))
 
 
+# TODO: change to FlaskInternalTask when convert to Flask
 class WipeoutSyncCron(jsonfeed.InternalTask):
   """Enqueue tasks for sending user lists to wipeout-lite and deleting deleted
      users fetched from wipeout-lite."""
@@ -61,7 +62,14 @@
     cloud_tasks_helpers.create_task(
         task, queue=framework_constants.QUEUE_FETCH_WIPEOUT_DELETED_USERS)
 
+  # def GetWipeoutSyncCron(self, **kwargs):
+  #   return self.handler(**kwargs)
 
+  # def PostWipeoutSyncCron(self, **kwargs):
+  #   return self.handler(**kwargs)
+
+
+# TODO: Set to FlaskInternalTask when convert
 class SendWipeoutUserListsTask(jsonfeed.InternalTask):
   """Sends a batch of monorail users to wipeout-lite."""
 
@@ -87,7 +95,14 @@
     logging.info(
         'Received response, %s with contents, %s', resp, data)
 
+  # def GetSendWipeoutUserListsTask(self, **kwargs):
+  #   return self.handler(**kwargs)
 
+  # def PostSendWipeoutUserListsTask(self, **kwargs):
+  #   return self.handler(**kwargs)
+
+
+# TODO: Set to FlaskInternalTask when convert
 class DeleteWipeoutUsersTask(jsonfeed.InternalTask):
   """Fetches deleted users from wipeout-lite and enqueues tasks to delete
      those users from Monorail's DB."""
@@ -122,7 +137,14 @@
         'Received response, %s with contents, %s', resp, data)
     return json.loads(data)
 
+  # def GetDeleteWipeoutUsersTask(self, **kwargs):
+  #   return self.handler(**kwargs)
 
+  # def PostDeleteWipeoutUsersTask(self, **kwargs):
+  #   return self.handler(**kwargs)
+
+
+# TODO: Set to FlaskInternalTask when convert
 class DeleteUsersTask(jsonfeed.InternalTask):
   """Deletes users from Monorail's DB."""
 
@@ -137,3 +159,9 @@
       return
     with work_env.WorkEnv(mr, self.services) as we:
       we.ExpungeUsers(emails, check_perms=False)
+
+  # def GetDeleteUsersTask(self, **kwargs):
+  #   return self.handler(**kwargs)
+
+  # def PostDeleteUsersTask(self, **kwargs):
+  #   return self.handler(**kwargs)
