Make YAML config file optional, and add __set method to build config