Let users review draft copies before publish
You could accomplish this with a combination of user roles (writer, peer reviewer, editor, for example) and Field Permissions plus maybe a couple of views for users of each role. More details about Field Permissions (from project page):

The Field Permissions module allows site administrators to set field-level permissions to edit, view and create fields on any entity.
Features:

Enable field permissions on any entity, not just nodes.
Role-based field permissions allowing different viewing patterned based on what access the user has.
Author-level permissions allow viewing and editing of fields based on who the entity owner is.
Permissions for each field are not enabled by default. Instead, administrators can enable these permissions explicitly for the fields where this feature is needed.
Field permissions overview


I would add a select list field to your content type that is editable only by peer reviewers and editors. You might call it publishing status or workflow status with the options of &quot;needs major revision, needs minor revision, ready to publish&quot; (just to give a couple examples). Use the field permissions module to make this field visible to the node author, invisible to anonymous users and authenticated users, and editable by peer reviewers, content editors, and site admins.
You could make it fancier by also using rules so that if someone with a given role (e.g. editor) selects ready to publish, the node is automatically published, and/or promoted to the front page, etc.
Hope this helps.