Gunnar, here is the initial attempt at the internal contract we discussed: https://gist.github.com/sebersole/7102609
This is the thing we'd configure from the annotations.