When you have two systems running in parallel, the hardest part is always managing the interface between the two. Customers don’t usually all migrate to the new system entirely and at the same time, so there is a need for the new system to offer backward compatibility with the older, more established system.