Rearrage/add tests
Simplify Rule, add tests
Expose blink for require in-browser