Modularized STac.

- Major difference is that this is now parameterized
  over an arbitrary expr.
- Also splitting into separate files