A majority of these interfaces are to aid in manipulating block states and blocks
for a specific DataManipulator. The one
requirement is that all block mixins extend IMixinBlock
for the benefit of being able to "reset" the block to a "default state".