Non è più accademica o elegante, è l'unica praticabile.
Pensaci: hai due oggetti (l'input e l'output) che vanno a velocità diverse.
Non possono andare a velocità diverse se uno (l'out) aspetta l'altro.
Del resto tu stesso ti sei reso conto del problema
