Implementing play modes. Random, linear a WIP. Added some supporting methods to ease the pain. ;-)