public RouterData()
        {
            StaticRoutes.CollectionChanged += new System.Collections.Specialized.NotifyCollectionChangedEventHandler(
                delegate(object Sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs EventArgs)
            {
                if (EventArgs.Action == System.Collections.Specialized.NotifyCollectionChangedAction.Add)
                {
                    foreach (var ItemObj in EventArgs.NewItems)
                    {
                        StaticRoutingData Item = (StaticRoutingData)ItemObj;

                        string[] Splits = Item.Destination.Split(new char[] { ';', ',' }, StringSplitOptions.RemoveEmptyEntries);

                        foreach (string Value in Splits)
                        {
                            if (Item.Type == RoutingType.Organisation)
                            {
                                VyattaConfigRouting.AddStaticRoutesForOrganization(ConfigRoot, Value.Trim(), this, Item.Interface, Item.Name);
                            }
                            else if (Item.Type == RoutingType.ASN)
                            {
                                int ASN = 0;
                                int.TryParse(Value.Trim(), out ASN);

                                VyattaConfigRouting.AddStaticRoutesForASN(ConfigRoot, ASN, this, Item.Interface, Item.Name);
                            }
                            else if (Item.Type == RoutingType.Netmask)
                            {
                                VyattaConfigRouting.AddStaticRoute(ConfigRoot, this, Value.Trim(), Item.Interface, Item.Name);
                            }
                            else
                            {
                                throw new Exception("Unimplemented type");
                            }
                        }
                    }
                }
                else if (EventArgs.Action == System.Collections.Specialized.NotifyCollectionChangedAction.Remove)
                {
                    foreach (var ItemObj in EventArgs.OldItems)
                    {
                        StaticRoutingData Item = (StaticRoutingData)ItemObj;
                        VyattaConfigRouting.DeleteGeneratedStaticRoutes(ConfigRoot, Item.Name);
                    }
                }
            }
                );
        }