Why are you doing this? I think it's wrong. If we take the responsibility for event firing off of the discussion, then the discussion factory should not be handling it either.