No runloop dependency, pure GCD events.