Avoid copying the array and use static one
Improve logic
If we end up with a null attribute, cancel everything
Make sure we clear the factory, whatever happens
Cosmetics
Wrap the log