BLF change status on callers in queue

We have a customer that needs the following, can anyone gimme an idea how to start?

Customer has a queue, wants to be able to see how many callers are in the queue from a phone (either the phone he’s talking on right now or a phone right next to him).
I don’t have a problem putting down a DSS box, but I need the ability to see how many callers are waiting, and if there are 10 callers, 10 BLF lamps should light up and so on.
Or, I though of another way, maybe with a XML push to the phone based on queue status?

Can anyone tell me what my best approach would be?

The FreePBX Phone Apps commercial module does this with the queues app