Made a base listener/listenable class, a base datasource/datasourcelistener class, and an example implementation.