Refactoring blocks & block controls into something more elegant