Mostly working simplified behaviour for pubsub

This will crash if a non-atom is returned. Not sure if that was intended, but it is the proper place to "crash the caller, not the server".