Run commands on coordinator

I haven't tested this yet, but I believe the code is more or less ready by now!

This makes sure that commands required to run on `device.group.coordinator` always does so.

There's probably lots of ways to optimize this, I just wanted to write down the idea of it to begin with.
I don't think it is necessary to turn it back into a tuple. Lists will unpack just fine. Unless I am missing something.