firstphase_width and firstphase_height are now recognized values in config.json
basedir() needs to be called in the global space to get the full path. AVAILABLE_COMPONENTS doesn't need to be global anymore. don't use exception handling as logic for component_map[], bad practice. formatting tweaks.
Removed ast and replaced with json, ast uses eval, not safe Used a dictionary as a map and a Constant as a settings area