This is in preparation for passing configuration to hooks. That'll be a big change already, so I wanted this to be a boring diff first.
This makes it simple to conveniently check all posting metadata in tests.
I feel like posting hooks a case of premature optimization in early development. This approach reduces the number of special cases in the code and allows us to more strongly reason about hooks in the type system.