in laymans terms "barney style" for me

Someone please "dumb" this down for me and answer some basic questions of how the arduino's communicate and what they're "saying and hearing" from the serial port when using xbee's in API mode.

Here is what I believe to be true;

-The xbee library for Arduino takes what you want to put as the "payload" and sends it to the xbee via serial.
-The xbee library takes your "payload", the address you want to send it to, and all the info you provide as per the requirements and creates a "packet" and sends it out the serial port to the xbee. the xbee sends it out to everyone.
-The xbees are listening to all traffic but only pay attention to packets addressed to them.

My real question is, The packets are received by the xbee, but the library takes the raw info coming off the serial port of the xbee and reshapes it back into the same info the 1st arduino put out onto the serial line to the first xbee? I need to understand who is doing what in the flow of data from one arduino to the first xbee, out to the second xbee and into the 2nd Arduino. I need to understand conceptually.

I'm sure its been said somewhere else, but not that i understand. I'm a computer guy and i understand TCP/IP so can can someone explain it kind of like that? in "layers"?