refactored usage of SkaterState, see #9