Just a heads up that this code could potentially corrupt memory. It only reserves 8 characters (7 chars plus the null character) for the array pointed to by msg in the line
char msg[] = "DEFAULT";
The function changeMessage copies the contents of newMessage into the array even if changeMessage contains more than 8 characters. This will lead to memory issues.
Refer to this excellent post (another post latter in the thread, by Zachary, gives a great intro to C strings):
@flashyourface I know you've already seen this, but I thought it would improve this thread to reference it.