Content app grouping

With tests!