Data science

I tried to address all comments/feedback from Joe and Sophia from last review.
Also tried to separate tests into happy/sad/error - not much material there.

you don't really need to assign `observation.success` to a variable here -- you can just do `@observations[subject].update(observation.success)`