Mmmm
Handle the different types of things in one block

Should make it easier to do this rendering on the
client when the time comes. Next step is to make
it a serialiser and not a presenter.