title: How to navigate to activity located in different module
body: <p>I am working on application which is divided by features into modules. </p>
  
  <p>App structure looks like so:</p>
  
  <ul>
  <li>app (application)
  
  <ul>
  <li>MainActivity</li>
  <li>MainApplication</li>
  </ul></li>
  <li>featureOne (module)
  
  <ul>
  <li>FirstActivity</li>
  </ul></li>
  <li>featureTwo (module)
  
  <ul>
  <li>SecondActivity</li>
  </ul></li>
  </ul>
  
  <p>Feature modules cannot depend on each other, but I can edit them freely. 
  My goal is to navigate from FirstActivity to SecondActivity. </p>
  
  <p>I cannot use <code>startActivity(Intent(com.example.featureTwo.SecondActivity))</code>, because SecondActivity class is not visible to FirstActivity(different independent module).</p>
  
  <p>Question is what is the proper way to navigate from FirstActivity to SecondActivity?</p>
  
  <p>I was thinking about using:</p>
  
  <ul>
  <li>Broadcast - I would send broadcast from FristActivity and register broadcast receiver, in featureTwos manifest. From broadcastReceiver I would launch SecondActivity.</li>
  <li>Deep Links - Similar to the broadcastReceiver.</li>
  <li>Creating function in application class and an enum within app package containint activies I want to launch. I would call this function whenever I want to launch activity like so: <code>launchActivityFromDifferentModule(EnumWithActivities.SecondActivity)</code>. </li>
  </ul>
  
  <p>Which method should I use, which one I shouldn't and why?</p>