Rather than a big `if/else` block here, let's use polymortphism!