public Transition register_transition(Transition t, string[] directions){
		foreach(string dir_name in directions){
			if (!direction_transitions.ContainsKey (dir_name)) {
				direction_transitions[dir_name] = new List<Transition>();
			}
			t.add_trigger(on_dir(dir_name));
			direction_transitions [dir_name].Add (t);
		}
		return t;
	}