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 didn't want it to break if called on something without `group.coordinator`, but I guess we can leave proper usage of this up to the developer using it to decorate ( possible future ) functions.