@SuppressWarnings("rawtypes")
		public boolean callVerb(String key, Object[] args)
		{
			// convert our args to Class
			Class[] classes = Utils.toClasses(args);
			Method func;
			// Attempt to get the method specified.
			try
			{
				func = this.getClass().getMethod(key, classes);
			} 
			catch (SecurityException e)
			{
				e.printStackTrace();
				return false;
			} 
			catch (NoSuchMethodException e)
			{
				e.printStackTrace();
				return false;
			}
			// if @Verb does not exist fail nicely and don't allow it to be called.
			if (func.getAnnotation(Verb.class) == null)
			{
				System.err.println(key+ " method is not in the verbs list!.. error at line 80 in Atom.callVerb");
				return false;
			}
			// Try to call the function.
			try
			{
				func.invoke(this, args);
			} 
			catch (IllegalArgumentException e)
			{
				// TODO Auto-generated catch block
				e.printStackTrace();
				return false;
			} 
			catch (IllegalAccessException e)
			{
				// TODO Auto-generated catch block
				e.printStackTrace();
				return false;
			} 
			catch (InvocationTargetException e)
			{
				// TODO Auto-generated catch block
				e.printStackTrace();
				return false;
			}
			return true;
		}