Edit so that you cleanly override canMove as well. Right now, its not
well designed