Can you explain, in simple terms, the process of writing a FIX message? I'm a bit new to the world of financial trading and messaging protocols, and I'm having trouble understanding the intricacies of constructing a FIX message. Could you break it down step-by-step, from defining the components of a FIX message to understanding the importance of the different fields? Also, are there any common mistakes or pitfalls to avoid when writing a FIX message? Your guidance would be greatly appreciated.