@Override
	public void refreshList() {
		List<Entity> hudComponentList = entityManager.getEntitiesContaining(HUDableComponent.class);

		// Check if there are indeed any entities that want to be shown on the
		// HUD
		if (hudComponentList.size() > 0) {
			// Get the Entity that wants to be tracked to the HUD. HUD supports
			// only one entity atm
			Entity entity = hudComponentList.get(0);

			// Get a list of all of the components that this entity has. We do
			// this so we can check if any of those components implement the
			// interface IHUDable Note, we also need to get all of the
			// components of the any children entities (and if they have any
			// children themselves etc)
			List<IComponent> allComponentsList = entity.getAllComponents();
			ParentSystem.getAllChildrenComponents(entity, allComponentsList);

			// Our entity might be a parent entity, and contain children
			// entities which hold the IHUdable instead of the parent (Perhaps
			// like a shield for instance?) We must find these and add them to
			// our component list

			// Clear our preallocate store of 'new' hudable components
			potentiallyNewHudableList.clear();

			// iterate all of the components of the entity and check if that
			// element implements the interface IHUDable, which provides the
			// methods for getting the hudable's icon and output message
			// currently
			for (IComponent component : allComponentsList) {
				if (component instanceof IHUDable) {
					potentiallyNewHudableList.add((IHUDable) component);
				}
			}

			currentHUDComponents.clear();
			currentHUDComponents.addAll(potentiallyNewHudableList);
		}
	}