Record events on multiple File Formats Understanding SOLID