Slip out functionality into classes.