vote widget: refactoring continued