Refactoring: renamed everything in accordance to Neil's article.
FAIL State 1 - import packages in different distinct versions
FAIL State 2 - import packages differently: with no version and in a distinct version
OK State 1 - import packages with same versions (1.0)
OK State 2 - import packages with same versions (2.0)
OK State 3 - different import packages versions but no package exposure via API