Added ISaveFormat interface to enable using Visitor pattern to save objects into varying serialization formats