Usar LocalService + Handler Ou BroadcastReceiver para atualizar elementos na Activity

Gostaria da opinião de programadores sobre uma decisão que tomei.

Em um projeto mobile, tenho uma funcionalidade que permite o usuário realizar uma consulta numa determinada api e o retorno dela é uma lista de objetos que populam um listview na mesma activity que o usuario pesquisa. Para realizar isso eu registro um broadcast receiver local (sem colocar no arquivo manifest) e adiciono a ele um intent filter. Esse broadcast inicia uma service que por sua vez instancia uma classe que possui um método responsável por fazer o request a api.

Após o request acabar, eu crio uma intent com o mesmo filtro do broadcast que iniciou o request e envio um outro broadcast, que vai ser capturado pelo filtro no método onReceive. Assim consigo atualizar o listview.

Minha primeira pergunta é, existe algum problema em fazer dessa forma ?

Estava estudando sobre troca de mensagens na classe Handler e a possibilidade de usa-la para atualizar uma activiity. Descobri que ela tem o metodo putExtra, que me permite passar um Bundle por parâmetro. Junto a isso vi que aparentemente a unica forma de passar um handler para um Service, é fazendo um bind no mesmo.

Estou implementando uma funcionalidade para preencher um listview após um request numa API. Estou fazendo de uma forma parecida a esse tutorial (https://developer.android.com/guide/components/bound-services.html?hl=pt-br).

Gostaria de saber se é uma boa estratégia atualizar elementos na activity utilizando LocalService e o Handler ?

A única coisa que consigo concluir por enquanto é que implementar LocalSerivce é mais dificil do que um broadcastreceiver, por isso gostaria de mais opiniões