pull down to refresh

What started out as me improving SN's rendering performance, has led to refactoring a significant portion of the codebase.
106 files changed, 941 insertions(+), 2213 deletions(-)
I'm almost happy with it. I had been putting off the refactor and I think it was wearing on me.