Brendan Weinstein01/06/2020, 6:16 AM
fun render(state: ViewState)
's emitted by a StateMachine. The StateMachine is shared in the common module. If the analytics events are fired in the StateMachine, then the developer who implements the View would have to avoid using the shared StateMachine or use it in a way that breaks functionality in order to make analytics events inconsistent, which is a loose coupling and better than no coupling.
Cristián Arenas01/07/2020, 7:38 PM