I want to create good OOP code by using inheritance but I am going around in circles on this issue. Method1(a Lerp method) is in a script placed on my prefab. Method1 needs two values. It gets them using a reference to a manager script that's located on an empty game object in the scene (so I can use the editor to fill in those values). Method1 needs to be called in Update(). The prefab is an enemy in my app. I have three types of enemies, each using Method1 in its prefab script and creating a reference to its manager class. I'm repeating code. Feels bad man. GenericSingleton ^ EnemyManager ^ Enemy1Manager / Enemy2Manager / Enemy3Manager Enemy (prefab script parent) ^ Enemy1 / Enemy2 / Enemy3 Should Method1 be on each prefab so it is close to what it affects? Should I have it in the manager class for each prefab type (closer to the values it needs but a step away from the object it affects)? Should Method1 be in the manager parent class? Thoughts? Thanks!