public AtomVerbs getVerbs(Movable player)
		{
			AtomVerbs rval = new AtomVerbs();
			rval.atomUID = this.UID;
			rval.verbs = new ArrayList<VerbSignature>();
			
			// Check all the class' methods
			for(Method m : this.getClass().getMethods())
			{
				// TODO: Check if this verb is accessible by the the player atom
				
				// Check if it's a verb
				if(m.getAnnotation(Verb.class) != null)
				{
					// Create a new verb to add to our list
					VerbSignature sig = new VerbSignature();
					sig.verbName = m.getName();
					sig.parameters = new ArrayList<VerbParameter>();
					
					// Go through the parameters and add their type one by one.
					// Note that later for lists, we'll need to check the method's annotations,
					// e.g. "@param(position = 1, type = "List")
					for(Class type : m.getParameterTypes())
					{
						// TODO: add list support
						VerbParameter param = new VerbParameter();
						if(type == String.class)
						{
							param.type = VerbParameter.Type.STRING;
						}
						else if(type == Integer.class)
						{
							param.type = VerbParameter.Type.INTEGER;
						}
						else
						{
							throw new RuntimeException("Verb "+this.getClass().getCanonicalName()+":"+
														m.getName()+" has parameter of invalid type.");
						}
						sig.parameters.add(param);
					}
					
					rval.verbs.add(sig);
				}
			}
			
			return rval;
		}