Incorrectly setting module template variable
Was running into the same problem today. I was able to access the controller and the service, but none of the variables. Looks like Brad was able to fix the problem but didn't add a final solution. 

I wasn't registering any variables on the init() function. Adding the last line of code registered the variable but did not load it onto every request. 

    // Register our variables
    Event::on(
        CraftVariable::class,
        CraftVariable::EVENT_INIT,
        function (Event $event) {
            /** @var CraftVariable $variable */
            $variable = $event-&gt;sender;
            $variable-&gt;set('formSenderModule', FormSenderModuleVariable::class);
        }
    );


To add it onto every request, I had to add form-sender-module into my bootstrap array in app.php. 

'bootstrap' =&gt; ['form-sender-module']