Refactoring "smart" 404 to be object oriented.