IDLs offers a convenient way to define structures and services and separate interfaces from their implementation.