well, just small note, that I found selected_runlevel quite strange, I think that new_runlevel is better or keep it as simple runlevel is fine as you don't have there a old or previous runlevel, so there is no confusion.