Due to how custom block reporters work, you can use a variable to control which one is actually referenced. If look inside the project, the two block stacks are identical, aside from what they set the variable to. You can't see it, but that variable is actually "inside" the reporter inside the say block. Based on what the variable is, different arguments are chosen.