title: Where and how to perform segues in VIPER architecture?
body: <p>As a beginner, I used to perform segues in <code>ViewControllers</code>. Moreover, Apple encourages such approach, because <code>UIViewController</code> has methods <code>performSegue</code> and <code>prepareForSegue</code>.</p>
  
  <p>But learning VIPER, I read that <code>Router</code> is responsible for transitions between scenes. And the second thing is that according to VIPER flowcharts like this:</p>
  
  <p><a href="https://i.stack.imgur.com/bpM7t.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/bpM7t.png" alt="enter image description here"></a></p>
  
  <p><code>Router</code> mustn't be tied with <code>View</code>.</p>
  
  <p>I absolutely don't want to refuse from using <code>segues</code>, because it is extremely powerful and allows me to easily transfer data between <code>ViewControllers</code>.</p>
  
  <p>So, how should I perform transitions between <code>ViewControllers</code>?</p>