I'm not 100% sure on this design. This is a region object, not an app, so perhaps we should extend PageRegion and add an app argument there. That way we won't need a special case here.