Perhaps this blog might give some help: https://qoppac.blogspot.com/p/systematic-trading-start-here.html
Check this post that exactly talks about your problem: https://qoppac.blogspot.com/2015/03/things-i-wish-interactive-brokers-would.html
IB API, I think, was created directly on top of the TWS-centric internal API. That is why it is so awkward and info is sent piecemeal - because it is geared toward how TWS displays data, not toward external use. I deal with a few dozen stock broker/exchange APIs. IB's is among the most awkward ones to use.
@terr we're starting fresh to implement automated options trading in some kind of headless/container based system. TWS meets these requirements but we're not married to it. Consensus seems to be implementation is a big hack. Do you have an alternative recommendation for an API that does transactions (i.e. not just fetching historical data). thanks a lot!