Sketch out protected_endpoint decorator

This PR is just a starting point, more code inbound.