Start of moving passes into DrawCommand.  This is a work-in-progress; you do not want to pull this branch right now.  Trust me.