integrate with ProtoIO protocol library : supports event-driven read and
write