Starting to rewrite code to allow custom configuration
Add config parsing, multiple puppers, and made code more robust