Added an Endpoint system

Need to add some tests to this.

/cc @blabaere