Added a BlockLayout class and planned out the future MultiBlock class to be a bit more sensible.