Added cache to all buttons.

Now when you go back and forward the status of buttons (previous, next,
cancel and finish buttons) are cached except in pages which are
transients.

Also have change the initialization code from the declaration to the
constructor so we don't have initialization code in both places.