Simple properties are forced to contain a value. For optional values consider to use an OptionalProperty instance.
The Observable design pattern is used in many important Java APIs. One well-known example is a JButton that uses the ActionListener API to execute an action. In this example, we have an ActionListener ...