Because ```selectedBlock``` is mutable, this area of code referentially opaque.
We should at least guard against ```selectedBlock``` being not-and-object.