FELIX-3536 split up spec and non-spec Factory component behavior into separate classes. Run spec-compliant tests with only spec behavior configured. Determine satisfied state from class rather than switch statement