Site model: refactors and adds private members