Use a protected variable to store text data
Refactor all of the logic out of the blocks

Now a snap like AST is built, this is can then be converted into a
Python AST.