Why does each `FunctionSpace` need its own Plex?