- step detection factored out to separate class