[SPIRIT2] Grammar creation

I have two questions, but the second may not be necessary depending on
the answer to this first one; in Spirit2, when creating grammars that
include other grammars (that include others and so on and so forth),
is it better to construct them in the grammar itself (like any other
rule), or is it better to have, say, a singleton of it somewhere and
link that in, and if a singleton then would it be thread-safe?