Jeff, this doesn't look right. The execute method on the StartContext is meant for:

           /**
             * Execute a task asynchronously using the MSC task executor.
             * <p>
             * <strong>Note:</strong> This method should not be used for executing tasks that may block,
             * particularly from within a service's {@link Service#start(StartContext)} or {@link Service#stop(StopContext)}
             * methods. See {@link Service the Service class javadoc} for further details.
             *
             * @param command the command to execute
             */
            @Override
            void execute(Runnable command);

What you really need is a "server Executor" which triggers that Runnable. See org.jboss.as.web.deployment.WebDeploymentService#start (and stop) methods for an example.