should the stepChanged() function be setStepChangeListener()  ?