`AbstractRuleSource` might be a better name.

And let's break each source into a separate line.