Is it a sign that something is wrong with the code design if you end up with a layer of functions that just forward request to a component? Exposing the component would avoid this but hurts encapsulation.
An example in a C++ like language.
class AnimalManager
{
public:
int GetNumAnimalsOfType(EAnimalType AnimalType) { return 77; }
// Other animal related stuff
}
class Zoo
{
public:
int GetNumAnimalsOfType(EAnimalType AnimalType) { return m_AnimalManager.GetNumAnimalsOfType(); }
private:
AnimalManager m_AnimalManager;
// Other Zoo related stuff
}