Enable message fragmentation

 * With a bit of refactoring.