Deal with Content type instead of Trail

This changes the type `Collection` deals in from `Trail` to the more specific `Content`.

It makes sense to deal with `Content` in scala, as it is much more rich.