One of the major draw backs to having the activators be used by discovery is that if the activator is dynamic and generates multiple tests, the list of test is unknown at the point of discovery and are only know when the tests run.
Instead of making the attributes enable test activation, it should instead enable test discovery and be responsible for passing the activator once the test are discovered.
Something like IDiscoverable<TActivation> ??