Introduced ChainableBlock (StatementBlock and EventBlock are sub-classes)
Added Event Blocks (OnSpaceBlock).
Lots of refactoring to make chaining more general.