Client side chunking, refactor the way blocktypes work