Jnf/review revisited

@seejee and @ninjapanzer - this is shaping up to a pretty big pull request. There's a lot of issues that kinda overlap in terms of when they need to go out. I'll let you know when I think it's finished, but I'm hoping you guys have some time to review what I've done here so far.

My goal is to address #14, #27, #28, #39, and possible #48.

__DO NOT MERGE__