Changed lookups to use Signature classes as a way to make the signatures
more consistant. Signatures store the parts of the signatures and the
modifiers related to them.