Separate Piper Status logic from movement logic