Arguments create a context from external input, which is assumed to be a string as though it came from a URL element. 'title' => title 'description' => Description 'keyword' => Default keyword for the context 'context' => Callback to create the context. Params: $arg = NULL, $conf = NULL, $empty = FALSE 'default' => either an array of default settings or a string which is a callback or null to not use. 'settings form' => params: $form, $form_state, $conf -- gets the whole form. Should put anything it wants to keep automatically in $form['settings'] 'settings form validate' => params: $form, $form_state 'settings form submit' => params: $form, $form_state 'criteria form' => params: $form, &$form_state, $conf, $argument, $id -- gets the whole argument. It should only put form widgets in $form[$id]. $conf may not be properly initialized so always guard against this due to arguments being changed and handlers not being updated to match. + submit + validate 'criteria select' => returns true if the selected criteria matches the context. params: $context, $conf