refactor spinner to use broadcast #197