Make block type a property of the block, not a subclass