For Transaction, Block and Blockheader. This is a convenience so if you happen to have the buffer for one of these, you can make a new one like this: Transaction(txbuf); Rather than having to do this: Transaction().fromBuffer(txbuf);
Every object should have toJSON and fromJSON methods so you can have a reliable way to store and retrieve objects.