Responsive

@jxa Let's talk about this when we have a chance. Lots of code review needed :smiley_cat: 
yeah you could use a multimethod here, but since there are only 2 options and it's a simple case statement I don't think multi methods are a big win.