added build method for app class in puddle module and changed function signature for Puddle::ConfigResolver.new to use a hash