move play/stop logic to IslandController