moved listeners and signals to be specific to an aspect, and created utility routines to access the signals and listners