I just want to add that this step is not necessary. The components can be owned by the entity, and that's okay
I actually completely agree - the only reason why I mention having a separate container with the components is because of post #1 and #3 - and many people will argue that iterating over components of a specific type in a given system is more "cache friendly" if done in this way.
However, I agree that the OP is far from needing to worry about what is or what is not "cache friendly" at this point. I think that it could be a good exercise to implement components in this way though - as I have found this pattern useful for many other things besides just "components". But maybe it's just me.