Since you do not describe how you are defining and using your components (other then that they are accessed through a method), it is hard to give any direct advice as how to store and access them.
There are many forms of entity-compoennt systems - some where an entity an object with a list of components and others where an entity is just a an id and the components are stored in seperat lists and accessed through that entity id.
I am personally using an approach based on the latter (where an entyity is represented by an id) since I like the simplicity and performance of that method,
I also think its very readable, but it can be a bit hard to wrap your head around initially if you are more used to the object oriented style of programming.
I started out by following some great articles here on gamedev:
Have a look and see if that is something you could use maybe.