See above comments. I don't see why the Content base class needs an 'id', and why we should add another positional arg to its public interface.