cache the database schema for a while now that we have a cache component
avoid potential division by zero error
use a custom grid view for the episode list (no keys and scripts)
keep all settings in memory so we don't have to query the database
every time Setting::getValue() is called