Updated Program and MediaPlayer implementations

Added documentation