/// <summary>
        /// Creates a new instance of the reaction with a Reaction attribute matching the specified type name and action.
        /// </summary>
        /// <param name="action">The action that the new reaction will be performing.</param>
        /// <param name="typeName">The name of the type involved in the action.</param>
        /// <returns>A reaction that is suitable to perform the specified action with the specified type.</returns>
        public IReaction[] NewReactions(string action, string typeName)
        {
            IReaction[] reactions = new IReaction[] {};

            ReactionInfoCollection infos = ReactionState.Reactions[action, typeName];

            reactions = infos.New(action, typeName);

            return(reactions);
        }
 /// <summary>
 /// Sets the provided reactions to the Reactions property.
 /// </summary>
 /// <param name="reactions"></param>
 public ReactionLocator(ReactionStateNameValueCollection reactions)
 {
     Reactions = reactions;
 }