Whether a C stub is involved is an implementation detail, not part of the interface
Create an abstract type for event channels, rather than expose the raw int