Refactored the responsibilities between the main package and the penguin package.