little clean up on cached sender. Now it is a Generic class that old a
cache of objects enqueued to be sent.

This is to allow late access to enqueued data and allow users to do some
last minute modification. This is particulary usefull if cached data
contains any errors or are refused due to any reason by the receiving
peer. In fact, now, data can be correct and sent again