I'm using objects because these variables are being passed in from a jackson constructor and might be optional. So I may have to do null checks