Background module - is companion app communication supported in the background?

I've been looking into the Background module functionality available in Connect IQ 2.3. The programmer guide documentation mentions this:

Applications can register for background services. Services can be registered to run when various events occur. These events include when the user reaches goal targets, when sleep and wake times occur, when a steps threshold is reached, or at a scheduled time. Modules available to background processes differ from those of their parent application.

I know the Communications module, or at least the makeWebRequest method, is available in background, as I've seen watch face examples that fetch weather data from an HTTP request, but I was curious from anyone familiar, am I able to interact with a companion app on Android or iOS using the registerForPhoneAppMessages() and transmit() methods as I would in a normal foreground widget or app? My planned use case is to register for a temporal event to be raised every X number of minutes/hours. On this event, my background service would:

1) Register for phone app messages
2) Send a request message to the companion app
3) Wait for an "ack" response message from the companion app
4) Depending on the result of the response, call requestApplicationWake() with some data to launch the watch app, or do nothing
5) Deregister from phone app messages

I figured I would ask if this should be possible before diving in to prototype, since I don't have a Connect 2.3 device at this time, and wasn't sure if this would work in the simulator as expected, either way for me to confirm without having a new watch. I would expect all of my aforementioned logic to easily be able to be finished in less than 30 seconds, so I wouldn't be worrying about the service timing out in general.

Thanks,
Brandon