this is a tad bit nasty, why not make the interface for SimpleRow the same as for button to avoid this if statement and just have:

    button.trigger! and return if button?