Will/object focused design with docs

I'm not sure how to open a PR into a branch in a forked repo, so I'm opening a new pull request based on #18.
In addition to @cpennington 's changes, I've updated the documentation, fixed some pylint violations, and resolved merge conflicts with master.

@jzoldak Could you please review?
@mhoeber Do you have time to review the tutorial in the documentation?