Implemented PhantomTorch as a personal challenge: 22 minutes.  Still needs a bit of work.