Renamed pulse_color to pulse and refactored to use morph internally