Adjusted change reactor primitive

@indexzero based on our exchange in #4 i decided to just write a scenario since its easier to talk over code. It seems that the choices are sacrifice api cleanliness for multi key or sacrifice multi key. Thoughts?