Added Fact class that generalises all Java fact classes