perf: move decode and format state management into the component internally perf: add component FormatSelector and ContentEntryEditor refactor: modified functions with an excessive number of parameters to accept an object as a parameter