I think that is going too far. There will be common classes anyway (e.g. MaterializerSettings, io messages)