I'm curious why you feel the request/response model doesn't scale to more complex apps. SIP itself is request/response based, and telecom in general also is.
Their API may be lacking certain features, (I'm not sure you can do fine grained control of individual call legs) but is there a reason you don't like the request/response model?