Allow "previewing" packets using a weak function

This allows other code to process data packets before lwm sees them.
This is a bit of a rough method, but it works well enough for 1
consumer.