kill the Signal type

strings will be used instead
remove unused utilty function
remove signal-related code

callback storage uses a dict of key -> callable/list instead
use strings as signals instead of a Signal object

This allows more flexibility going forwards, and will allow for members
to emit change notification with no boiler plate code required by the
class author.