Khononov V. Balancing Coupling in Software Design...Design Principles 2025