I would argue splitting hairs on speed but it looks like this function will have to be ran during check() to get the message size to possibly prevent the user from adding text past the carrier's limit