Add buffered data classes

Check it and the concept in background
As you see the element from the list will be returned. The parameter which give to the function is the received message from the other side. It does not check the data from the ModelObject. So the sender of the message can get the original message which it sends. So it does not need to save this information. For me the return value is something I want. Nothing to change. But we can discuss about the function name.