Refactor button support.