Abstract input a bit and add a spec around player movement as an example