Question: In the java awt event package, there is an ActionListener interface that many classes implement when they want to be made aware of events that occur, such as mouse clicks in buttons. Why is ActionListener an interface instead of an abstract class? How would making ActionListener an abstract class decrease the usability of the class?