Added support for individualizing endpoint instances

@johnsimons @SimonCropp review please


Left to do:

- [ ] Add doco
It's a breaking change if I make it abstract?