Drop that weird key-validation - if it doesn't work, it doesn't work (it's that easy)
reduce code to simplify things
drop service.py - move code into now renamed generate.py
Get rid of the unnessecary site class, use self-describing variable names, simplify even more code