diff --git a/devlib/module/__init__.py b/devlib/module/__init__.py
index db7c31f..b4ab0d1 100644
--- a/devlib/module/__init__.py
+++ b/devlib/module/__init__.py
@@ -37,6 +37,9 @@ class Module(object):
     #             serial).
     #  'connected' -- installed when a connection to to the target has been
     #                 established. This is the default.
+    #   'setup' -- installed after initial setup of the device has been performed.
+    #              This allows the module to utilize assets deployed during the
+    #              setup stage for example 'Busybox'.
     stage = 'connected'
 
     @staticmethod
diff --git a/doc/modules.rst b/doc/modules.rst
index 9d6fe28..264edca 100644
--- a/doc/modules.rst
+++ b/doc/modules.rst
@@ -212,6 +212,9 @@ define the following class attributes:
         :early: The module will be installed when a :class:`Target` is first
                 created. This should be used for modules that do not rely on a
                 live connection to the target.
+        :setup: The module will be installed after initial setup of the device
+                has been performed. This allows the module to utilize assets
+                deployed during the setup stage for example 'Busybox'.
 
 Additionally, a module must implement a static (or class) method :func:`probe`: