Extensions, comments and echos has their own methods (`compileExtensions()`, `compileComments()`, `compileEchos()`), why statements doesn't ? If we wrap this `preg_replace_callback()` with its own method `compileStatements()`, I think it would be better.