Abstract Messages to allow Actors to function independently from their callers.
To make the nested Actor independent from the caller, the caller must tell the nested Actor what types of Messages to send so the nested Actor avoids picking a type itself. To do this, the caller records a Message into the nested Actor when the nested Actor launches. The nested Actor provides a Set Type Message method, where Type is the event that triggers the Message to send. The caller sets the Message it wants to receive when this event occurs. When the event occurs, the nested Actor sends the chosen Message without knowing which caller will receive that Message. Defining an abstract Message class allows the nested Actor to use that class as the input type for the Set Type Message VI. Callers create their own specific child of this abstract class. This setup allows the nested Actor to set data into the Message through the API defined by the abstract class and deliver that data in a form the caller can consume.