How to approve a page before publishing it

I need 2 level of editors, writer and manager:

The writer creates pages to be hidden until the manager approves its publication.
The managers reviews the page made by the writer, if it is fine, he authorise the publication and the page can be seen by the public; if it is not, he place some comments on it and returns it to the writer.

Do you know how to make it or where is the documentation about it?

Thank you