title: Designing an Order object for Trading systems
body: <p>I am trying to design my first trading system and I am struggling with designing a correct Order object with all the <code>FIX</code> concepts involved in it. Wondering if any experienced folks can chime in on some ideas.</p>
  
  <p>I created a simple Order class. 
  But as a <code>NewOrderSingle</code> (FIX) is generated, I need a <code>ClOrdId</code>.
  Then when I cancel this order, I need a new <code>ClOrdId</code> (For every cancel and replace FIX message generated) and set the correct <code>OrigClOrdId</code>. So I need to keep track of those <code>OrigClOrdIds</code>.</p>
  
  <p>Also, I think I need to keep a unique Id internal to my system to identify this order, different from <code>ClOrdId</code>, which could keep changing.</p>
  
  <p>I don't see any nice object oriented way of designing this order object while keeping the concept of various Ids relevant to my FIX messages separate.</p>
  
  <p>How do people design these in real world? Any suggestions? Thanks.</p>