large update
all routes are now formalized into a standard JSON api across blocks.

What this means is:
every time you make a block and have various fields that you would like
to change while the block is hot, all you do is send a message to a
route that calls unmarshall() or marshal() (these are probably named
incorrectly)

unmarshal() will automatically try to resolve the incoming JSON via a
route into a struct that the block can use and send a response back over
the route with the confirming that the change has been made.

marshal() will just send whatever struct back over the route.

look in ticker.go, count.go, connections.go and library.go for examples
of how this works.