public void save() {
		//Save markets
		
		//Clear the plugin pointer to null
		for( Market market : markets.values() )
			market.setPlugin(null);
		
		try{
			ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(Conf.dataFolder + "markets.bin"));
			oos.writeObject(markets);
			oos.flush();
			oos.close();
			getLogger().info("Saved markets.bin");
			//Handle I/O exceptions
		}catch(Exception e){
			getLogger().info("Could not write markets.bin, goodbye lovely data :(");
		}
		
		//Restore the plugin pointer
		for( Market market : markets.values() )
			market.setPlugin(this);
		
		//Save revenue
		try{
			ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(Conf.dataFolder + "revenue.bin"));
			oos.writeObject(revenue);
			oos.flush();
			oos.close();
			getLogger().info("Saved revenue.bin");
			//Handle I/O exceptions
		}catch(Exception e){
			getLogger().info("Could not write revenue.bin, goodbye lovely data :(");
		}
		
		//Save deliveries
		try{
			ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(Conf.dataFolder + "deliveries.bin"));
			oos.writeObject(deliveries);
			oos.flush();
			oos.close();
			getLogger().info("Saved deliveries.bin");
			//Handle I/O exceptions
		}catch(Exception e){
			getLogger().info("Could not write deliveries.bin, goodbye lovely data :(");
		}
	}