diff --git a/pulsar/daemon.py b/pulsar/main.py
similarity index 98%
rename from pulsar/daemon.py
rename to pulsar/main.py
index f235388b6c200dcdab8a110331315f813c8be2e7..0df9d9401c8291a1c9793a705b5d81dc4ee2ba9d 100644
--- a/pulsar/daemon.py
+++ b/pulsar/main.py
@@ -1,7 +1,3 @@
-""" daemon.py no longer makes sense as a filename for this file at all.
-It really should be main.py to reflect what it is doing and sync with
-Galaxy.
-"""
 import logging
 from logging.config import fileConfig
 
@@ -93,16 +89,7 @@ def load_pulsar_app(
 
 
 def app_loop(args, log):
-    try:
-        config_builder = PulsarConfigBuilder(args)
-        pulsar_app = load_pulsar_app(
-            config_builder,
-            config_env=True,
-            log=log,
-        )
-    except BaseException:
-        log.exception("Failed to initialize Pulsar application")
-        raise
+    pulsar_app = _app(args, log)
     sleep = True
     while sleep:
         try:
@@ -113,7 +100,6 @@ def app_loop(args, log):
             sleep = False
         except Exception:
             pass
-
     try:
         pulsar_app.shutdown()
     except Exception:
@@ -121,6 +107,20 @@ def app_loop(args, log):
         raise
 
 
+def _app(args, log):
+    try:
+        config_builder = PulsarConfigBuilder(args)
+        pulsar_app = load_pulsar_app(
+            config_builder,
+            config_env=True,
+            log=log,
+        )
+    except BaseException:
+        log.exception("Failed to initialize Pulsar application")
+        raise
+    return pulsar_app
+
+
 def absolute_config_path(path, pulsar_root):
     if path and not os.path.isabs(path):
         path = os.path.join(pulsar_root, path)
diff --git a/pulsar/mesos/framework.py b/pulsar/mesos/framework.py
index 5a3f3cc4eb451dbef112ef2135bdd6a44750905c..ca04de7890e14f02547ff8ed3c72c989899d41f5 100644
--- a/pulsar/mesos/framework.py
+++ b/pulsar/mesos/framework.py
@@ -9,7 +9,7 @@ from pulsar.mesos import (
 )
 from pulsar.client.util import to_base64_json
 
-from pulsar.daemon import (
+from pulsar.main import (
     PULSAR_ROOT_DIR,
 )
 from pulsar.messaging import bind_amqp
diff --git a/pulsar/scripts/chown_working_directory.py b/pulsar/scripts/chown_working_directory.py
index 336fcaabcb2f463b8321e66968d0ccbb8eb4ddad..56f6bdc930d160743b0f56d78f4155c1cae26fcb 100644
--- a/pulsar/scripts/chown_working_directory.py
+++ b/pulsar/scripts/chown_working_directory.py
@@ -1,6 +1,6 @@
 from os import system
 from os.path import join, abspath
-from pulsar.daemon import ArgumentParser, PulsarConfigBuilder
+from pulsar.main import ArgumentParser, PulsarConfigBuilder
 from pulsar.core import DEFAULT_STAGING_DIRECTORY
 
 
diff --git a/pulsar/scripts/drmaa_kill.py b/pulsar/scripts/drmaa_kill.py
index 44658d22a0c995a01ceac253cf5b8cbbf9a6f252..c21e6736977446424c661d123a3c73f3298a236a 100644
--- a/pulsar/scripts/drmaa_kill.py
+++ b/pulsar/scripts/drmaa_kill.py
@@ -1,6 +1,6 @@
 from json import load
 from pulsar.managers.util.drmaa import DrmaaSessionFactory
-from pulsar.daemon import ArgumentParser
+from pulsar.main import ArgumentParser
 
 
 DESCRIPTION = "Kill a job via DRMAA interface."
diff --git a/pulsar/scripts/drmaa_launch.py b/pulsar/scripts/drmaa_launch.py
index f5eef9e2a5c0fad8d09286f3808485ce7baa2a45..38345ee5a005bf35b4b8b5cac7c09fa50c9ece38 100644
--- a/pulsar/scripts/drmaa_launch.py
+++ b/pulsar/scripts/drmaa_launch.py
@@ -1,7 +1,7 @@
 from __future__ import print_function
 from json import load
 from pulsar.managers.util.drmaa import DrmaaSessionFactory
-from pulsar.daemon import ArgumentParser
+from pulsar.main import ArgumentParser
 
 
 DESCRIPTION = "Submit a DRMAA job."
diff --git a/pulsar/scripts/mesos_executor.py b/pulsar/scripts/mesos_executor.py
index 7848791f9ed64d01d0540273c6fb8e66c4ce5773..4bb710b6e53d1dfdc31320ff5226f96a82505262 100644
--- a/pulsar/scripts/mesos_executor.py
+++ b/pulsar/scripts/mesos_executor.py
@@ -14,7 +14,7 @@ from pulsar.scripts.submit import (
 )
 from pulsar.manager_endpoint_util import submit_job
 
-from pulsar.daemon import (
+from pulsar.main import (
     ArgumentParser,
     PulsarManagerConfigBuilder,
 )
diff --git a/pulsar/scripts/mesos_framework.py b/pulsar/scripts/mesos_framework.py
index e75da6392989c97caa35eab9579e9fdfba367d9a..592b663d7425b2bfbbe91bc990c2eddc535c4279 100644
--- a/pulsar/scripts/mesos_framework.py
+++ b/pulsar/scripts/mesos_framework.py
@@ -3,7 +3,7 @@ from pulsar.mesos import (
 )
 from pulsar.mesos.framework import run
 
-from pulsar.daemon import (
+from pulsar.main import (
     ArgumentParser,
     PulsarManagerConfigBuilder,
 )
diff --git a/pulsar/scripts/submit.py b/pulsar/scripts/submit.py
index 91d6961903532c6e01de865702d02795fe5c0135..449d90d277b858ca9f42fc16fca406556bfc56c7 100644
--- a/pulsar/scripts/submit.py
+++ b/pulsar/scripts/submit.py
@@ -1,9 +1,9 @@
 import time
 import json
 
-from pulsar.daemon import ArgumentParser
+from pulsar.main import ArgumentParser
 from pulsar.client.util import from_base64_json
-from pulsar.daemon import (
+from pulsar.main import (
     load_pulsar_app,
     PulsarManagerConfigBuilder
 )
diff --git a/pulsar/web/wsgi.py b/pulsar/web/wsgi.py
index 98e0de55dfa889209ddb5d4feeaa06d1bcca74c2..fe65d01bfc4f778cf2ea72d4f43e20581ce0849c 100644
--- a/pulsar/web/wsgi.py
+++ b/pulsar/web/wsgi.py
@@ -1,7 +1,7 @@
 import atexit
 import inspect
 
-from pulsar.daemon import load_app_configuration
+from pulsar.main import load_app_configuration
 from pulsar.core import PulsarApp
 from pulsar.web.framework import RoutingApp