Rewrite part of snapshot feature to get connections correctly

I've tried to minimize the amount of code I'm touching to complete this. I'd prefer not to rewrite the entire class.
Doesn't handle large amounts of code and newlines well.

Is there a reason you don't like temporary files? It doesn't seem any worse.