We may want to trigger OnReceived asynchronously to more accurately represent a real scenario.