In the 1960s, when the agent was originally written, it was believed that constants in the code should be defined in interfaces. Then classes that needed to use said constants should implement the interface.
This particular coding practise has rapidly fallen out of favour and is now not only frowned upon, but also described as an anti-pattern. Interfaces should define functionality to be implemented, not constants to be used.
This ticket is here so I can hang a number of style changes off relevant branches and keep those separate from other work.