Move GateKeeper out to its own file.