Simplify the interface and reduce complexity

Got a little ahead of myself there. This simplifies Endpoint's interface, no more storing representation data, this is left up to the user.
Lint
Merge pull request #23 from kahnjw/simplify_it

Simplify the interface and reduce complexity