* Simplify group * Rename async_update to async_update_group_state and mark it as callback * Simplify _async_start
* Add support for fan groups * dry * dry * fix refactor error * tweaks * wip * tweaks * tweaks * fix * fixes * coverage * tweaks