Data structure changes implemented as they are required by current functionality. There's still things to do after more functionality, specifically study screens, have been completed.
Lots of generalisations to component handling. Basics of study handling added. CSS changes.