Considerably improve granularity

Now it gathers each datum individually, stores all of that data as an
object, and emits both JSON and HTML.