Abstracted out some common logic that should be able to be used by other components
Update #304 - Listed out current packages & versions