Add Controller::id
Use protected, not private vars
Don't ghost