AndroidMediaUI refactored with private classes for each UI screen.