Changed the way extended messages are decoded - now we decode what we have available, and pass the buffer in case we need the rest; example: Bittorrent Metadata extension