diff --git a/geomagio/WebService.py b/geomagio/WebService.py
index cee204334a4e7da7139c5565ab3745dd285f394d..416381a36e7389ba44d6a0c691b70bdba4e55288 100644
--- a/geomagio/WebService.py
+++ b/geomagio/WebService.py
@@ -74,8 +74,8 @@ def _get_param(params, key, required=False):
 
 
 class WebService(object):
-    def __init__(self, factory, metadata=None):
-        self.factory = factory
+    def __init__(self, factory=None, metadata=None):
+        self.factory = factory or EdgeFactory()
         self.metadata = metadata or ObservatoryMetadata().metadata
         base = os.path.dirname(__file__)
         filepath = os.path.abspath(os.path.join(base, '..', 'package.json'))