private void parse(JSONObject action) {
		// Initialize the keywords available for this Action 
		keywords = new ArrayList<String>();

		// Assign the name and execution code for this Action 
		name = action.getString("name");
		execute = action.getString("execute");
		
		// Pull off the keywords from the JSONObject and store them in a JSONArray
		JSONArray keywordsjson = action.getJSONArray("keywords");
		
		// Loop over the keywords
		for(int i = 0; i<keywordsjson.length(); i++) {
			// Add each keyword into the ArrayList
			keywords.add(keywordsjson.getString(i));
		}
		
		// Initialize the parameters available for this Action
		parameters = new ArrayList<ArrayList<String>>();
		// Try to load the JSONArray
		try {
			// Store the parameters as JSONArray
			JSONArray parametersjson = action.getJSONArray("parameters");
			
			// Loop over the previously created array
			for(int i = 0; i<parametersjson.length(); i++) {
				// Initialize a temporary ArrayList
				ArrayList<String> temp = new ArrayList<String>();
				// Fetch all possibilities for parameter i
				JSONArray parameterjson = parametersjson.getJSONArray(i);
				
				// Loop over all possibilities
				for(int j = 0; j<parameterjson.length(); j++) {
					// Write those into the temporary array
					temp.add(parameterjson.getString(j));
				}
				
				// Add the array to the parameter storage
				parameters.add(temp);
			}
			// If no parameters are available just skip the assignment
		} catch(JSONException e) {}
	}