Don't store Block objects, use BlockState

Fixes #1811, Closes #1822