Edit in JSFiddle

const Clock = function () {
  let minutes = 25
  let seconds = 0

  const clock = {
    reset: () => {e
      minutes = 25
      seconds = 0
    },
    getTime: () => {
      return `${twoDigits(minutes)}:${twoDigits(seconds)}`
    },
    setTime: (time) => {
      minutes = time.minutes
      seconds = time.seconds
    },
    tick: () => {
      if (seconds === 0) {
        minutes -= 1
        seconds = 59
        return
      }
      seconds -= 1
    }
  }

  const twoDigits = num => {
    if (num >= 10) return num

    return `0${num}`
  }

  return clock
}

const ClockComponent = {
	oninit(){
  	this.clock = new Clock()
    
    this.start = () =>
      setInterval(() => {
        this.clock.tick()
        
        m.redraw()
      }, 1000)
  },
  
  view: ( { state : { clock, start } } ) =>
    m('div',
      m('h1', clock.getTime()),
      m('button', {onclick: () => start( clock ) }, 'Start')
    )
}

m.mount(document.body, {
	view : () => [
  	m( ClockComponent ),
  	m( ClockComponent ),
  	m( ClockComponent ),
  	m( ClockComponent )
  ]
} )