I would like to remove the whole generic foreign key container thingy as I don't think there's a need for being able to bind apps to arbitrary models. But that has to be figured out some day. At the moment, the implementation and mainly the usage of get_container actually assumes that the container is always a CourseInstance. The old implementation (with the as_leaf_class) assumed that it is bound to something that inherits ModelWithInheritance, which caused an error in case the container was a CourseInstance as CourseInstance is not a subclass of ModelWithInheritance. What I am trying to say is that get_container might have implementation later when the apps architecture evolves. I added an inline todo to remind about it.