Sou principalmente um desenvolvedor de interface do usuário da Web, mas me parece que seu desconforto intuitivo pode ser menos sobre a passagem da instância e mais sobre o fato de você estar um pouco processual com esse controlador. Seu controlador deveria suar todos esses detalhes? Por que ele faz referência a mais do que o nome de outro objeto para reproduzir o áudio?
No design de POO, costumo pensar em termos do que é sempre-verde e do que é mais provável que esteja sujeito a alterações. O assunto para mudar as coisas é o que você vai querer colocar em suas caixas de objetos maiores, para que você possa manter interfaces consistentes mesmo quando os jogadores mudam ou novas opções são adicionadas. Ou você deseja trocar objetos ou componentes de áudio por atacado.
Nesse caso, seu controlador precisa identificar que é necessário reproduzir um arquivo de áudio e, em seguida, ter uma maneira consistente / sempre-verde de reproduzi-lo. O material do reprodutor de áudio, por outro lado, pode mudar facilmente conforme a tecnologia e as plataformas são alteradas ou novas opções são adicionadas. Todos esses detalhes devem ficar embaixo da interface de um objeto composto maior, o IMO, e você não precisa reescrever seu controlador quando os detalhes de como o áudio é reproduzido mudam. Então, quando você passa uma instância de objeto com os detalhes, como a localização do arquivo, para o objeto maior, toda a troca é feita no interior de um contexto apropriado, onde é menos provável que alguém faça algo bobo com ela.
Portanto, neste caso, não acho que seja a instância do objeto sendo lançada que possa estar incomodando você. É que o capitão Picard está correndo para a sala de máquinas para ligar o núcleo da urdidura, correndo de volta para a ponte para traçar as coordenadas e pressionando o botão "socar" depois de ligar os escudos em vez de simplesmente dizer "Pegue nós ao planeta X na Warp 9. Faça isso. " e deixando sua equipe resolver os detalhes. Porque quando ele lida com isso dessa maneira, ele pode comandar qualquer navio da frota sem conhecer o layout de cada navio e como tudo funciona. E essa é, em última análise, a maior vitória em design de OOP a ser alcançada, a IMO.