A comment about what this is, would be helpful. Modifying this value seems to be the whole point of the class.
 I think it would be better to make it private and modify it only via ``` void rewriteCurrentStatement(Statement *s) { *ps = s; }``` or similar.