I need a delegate that can be added, removeed and be triggered by external sources.
delegate
add
remove
Should I make a wrapper around