Once we've converted how we store block cache data in MA-1424, we can extend the BCU interface to allow storage of subsets of the course nodes. Only the top level course wide data would remain in permanent storage, but a BCU should be able to quickly compute a subset of itself as a new BCU and save that in memcached. So what happens would look like this:
1. Request comes in for Sequence A.
2. Check to see if a BCU for Sequence A (and all its children) exists in memcached.
3. If not, grab BCU for entire course, derive BCU for Sequence A (and cache that).