Define ComponentPlugin API type

Just writing down how I think plugins should get registered with the system. Was thinking it'd be nice to do the event thing as a plugin.
I agree in principle, but this is a general problem of talking to services and I want to wait to say that until we implement a general solution.

Like, it turned out that my redirect handler isn't so useful because the IP address doesn't work from outside the network.