Some design for the block API.