Refactor for readability

The right thing to do here is use the accessor methods to grab the properties. As you can see though, this gets very confusing and messy. I'm still on the fence about using dot lookup syntax, but this should ease things along in the meantime.