Explain the use of Go interfaces for designing loosely coupled systems?