Balancing coupling in software design | AbS