Accepting metadata, playhead, and state in reporting constructor