Fix toggle icon status, and add asynchronicity