private object Classified_Billing(string functionName, object parameters)
        {
            try
            {
                BillingClassified bc = new BillingClassified();
                bc.FromOSD((OSDMap)OSDParser.DeserializeJson(parameters.ToString()));
                IDirectoryServiceConnector DSC = DataManager.RequestPlugin<IDirectoryServiceConnector>();
                Classified c = DSC.GetClassifiedByID(bc.ClassifiedID);
                if (c != null)
                {
                    if (m_money != null)
                    {
                        if (!m_money.Charge(c.CreatorUUID, c.PriceForListing, "Classified Charge -" + c.Name))
                        {
                            bc.Tries += 1;
                            if (m_TriesBeforeRemovingClassified >= bc.Tries)
                            {
                                c.ClassifiedFlags =
                                    (byte) (c.ClassifiedFlags & ~((int) DirectoryManager.ClassifiedFlags.Enabled));
                                IProfileConnector profile =
                                    DataManager.RequestPlugin<IProfileConnector>("IProfileConnector");
                                profile.AddClassified(c);
                                m_scheduler.Remove(bc.ClassifiedID.ToString());
                                if (m_NotifyOnClassifiedRemoval)
                                {
                                    NotifyClass(c, bc, "Removal");
                                }
                            }
                            else
                            {
                                SchedulerItem si = m_scheduler.Get(c.ClassifiedUUID.ToString());
                                si.FireParams = bc.ToOSD();
                                m_scheduler.Save(si);
                                if (m_NotifyOnClassifiedFailure)
                                {
                                    NotifyClass(c, bc, "Failure");
                                }
                            }
                        }
                        else if (m_NotifyOnClassifiedSuccess)
                        {
                            NotifyClass(c, bc, "Success");
                        }
                    }
                    else
                        MainConsole.Instance.Info("[ClassifiedsCollection] Could not find money module.");
                }
                else
                    MainConsole.Instance.Info("[ClassifiedsCollection] Could not find classified, might have been deleted");
            }
            catch (Exception ex)
            {
                MainConsole.Instance.Error("[ClassifiedsCollection] Error charging for classifieds", ex);
            }

            return "";
        }