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?