Renaming functions (mostly).
Do the same as before but in a much more complex way (messages are used).