Re-write

Made the viewport an object. Re-ordered some of the calls;
shuffled around code and added comments.
Post-Mortem notes

Added more post-mortem to README