Major refactor into source/package roles per component