Rule: Logic units need to input events to output events. Why? Because we are an event driven library. You want a new event? Use an orthoganol.
Rule: Logic units can throw events, but can’t set (client) parameters (That are outside the logic unit). Why? Because the system becomes Non-deterministic.