Refactor package service into even further methods and encapsulation. There is too much chronological executions instead of more encapsulated abstractions. The `installPackage` has expanded way too much and needs refactoring.
If we are on a move to async computing internally we will need to revise this first. As it stands, it is not thread safe. We need to move to more focused functions that can be pure and act upon it's arguments.