How to architect code as your project scales | Avoiding technical debt | Unity