Extract expander functionality into pusher class