1. A method of taking a course offline, the method comprising: selecting the course; determining metadata associated with the course; loading the metadata; processing a state associated with the course; downloading the course to a storage; and activating an offline player to present the course from the storage.