Extended Artifact function and activate() method, and keep track on global level where artifacts are and which ones have been found already.
New version of activate() in artifact