This interface should probably include `setParser` and `getParser` methods