It is a hack and it does increase code complexity. I will move the overlap logic into the child classes.