At a computer system, the computer system including one or more processors, system memory, and a messaging stack, the messaging stack having a hierarchical arrangement of components including a lower layer transport component, one or more disassembler components (103, 104, 108), and an upper layer application component, the lower layer transport component being below the one or more disassembler components and the upper layer application component in the hierarchical arrangement of components, the upper layer application component being above the lower layer transport component and the one or more disassembler components in the hierarchical arrangement of components, the computer system also including a framer factory for creating framers (111, 112) that can be contained within the one or more disassembler components to parse messages (121, 121A, 121B,... 122, 122A, 122B..) a method for disassembling one or more messages, the method comprising: an act of a disassembler component, selected from among the one or more disassembler components, receiving a message from a component immediately below the disassembler component in the hierarchical arrangement of components, the message containing one or more nested messages within the message; an act of the disassembler component indicating a message type (124, 123), for the message to the framer factory; an act of the framer factory providing a framer to the disassembler component, the framer for parsing the message; an act of the disassembler component indicating the start of a session, to the component immediately above the disassembler component in the hierarchical arrangement of components, the session being between the disassembler component and the component immediately above the disassembler component; for each of the one or more nested messages in the message, including a last nested message, and subsequent to indicating the start of the session: an act of the framer parsing the message to identify the next nested message, from among the one or more nested messages, contained within the message; and an act of the disassembler component sending the identified next nested message to the session; and an act of the disassembler indicating the end of the session to the component immediately above the disassembler component. an act of a disassembler component, selected from among the one or more disassembler components, receiving a message from a component immediately below the disassembler component in the hierarchical arrangement of components, the message containing one or more nested messages within the message; an act of the disassembler component indicating a message type (124, 123), for the message to the framer factory; an act of the framer factory providing a framer to the disassembler component, the framer for parsing the message; an act of the disassembler component indicating the start of a session, to the component immediately above the disassembler component in the hierarchical arrangement of components, the session being between the disassembler component and the component immediately above the disassembler component; for each of the one or more nested messages in the message, including a last nested message, and subsequent to indicating the start of the session: an act of the framer parsing the message to identify the next nested message, from among the one or more nested messages, contained within the message; and an act of the disassembler component sending the identified next nested message to the session; and an act of the disassembler indicating the end of the session to the component immediately above the disassembler component. an act of the framer parsing the message to identify the next nested message, from among the one or more nested messages, contained within the message; and an act of the disassembler component sending the identified next nested message to the session; and an act of the disassembler indicating the end of the session to the component immediately above the disassembler component.