A timer that counts down based on how many times a button is pressed

I've fiddled with a few arduino projects, and bent existing sketches to my will, but this is really my first project.

I want to prototype a simple stretching/training interval timer that goes like this:

When button is pressed, start a 1 minute countdown. If the button is pressed again, reset to a 2 minute countdown. Optional and helpful: when the button is pressed, flash an led to indicate how many minutes it's set to. When the timer is up, flash the LED

I have the button and led connected to these:

#define button 4
#define led    8

The question is: What are the essential things that I need to learn in order to accomplish this, and do you have links that would help?

How to debounce a button(wired properly and not floating), how to blink an LED without the uses of the delay() function and how to keep track of time with the millis() function.

All of which are provided under your Arduino Example sketches.

I should also add incrementing and resetting a variable.