diff --git a/src/functionObjects/field/Curle/Curle.C b/src/functionObjects/field/Curle/Curle.C
index b2494706680dde5cad2bdf9a4ecca0c137f035c6..ad5c382efba26480e289d49b73cc223402c29d0c 100644
--- a/src/functionObjects/field/Curle/Curle.C
+++ b/src/functionObjects/field/Curle/Curle.C
@@ -169,7 +169,7 @@ bool Foam::functionObjects::Curle::read(const dictionary& dict)
             );
 
             // Use outputDir/TIME/surface-name
-            surfaceWriterPtr_->useTimeDir() = true;
+            surfaceWriterPtr_->useTimeDir(true);
         }
     }
 
diff --git a/src/functionObjects/field/fieldValues/surfaceFieldValue/surfaceFieldValue.C b/src/functionObjects/field/fieldValues/surfaceFieldValue/surfaceFieldValue.C
index bfc8baaddaf21775b6fa5dd4250d93e97813bade..1d7cd88a2968f3dbe9cad1aaa28e852140d9c1f4 100644
--- a/src/functionObjects/field/fieldValues/surfaceFieldValue/surfaceFieldValue.C
+++ b/src/functionObjects/field/fieldValues/surfaceFieldValue/surfaceFieldValue.C
@@ -969,7 +969,7 @@ bool Foam::functionObjects::fieldValues::surfaceFieldValue::read
 
         if (debug)
         {
-            surfaceWriterPtr_->verbose() = true;
+            surfaceWriterPtr_->verbose(true);
         }
 
         if (surfaceWriterPtr_->enabled())
diff --git a/src/functionObjects/utilities/areaWrite/areaWrite.C b/src/functionObjects/utilities/areaWrite/areaWrite.C
index eb70b9c835baeda391ad3c023b3ecaeb0591b778..7b21d4f8a9ce73a93102cbbba6e25e1f1836d99f 100644
--- a/src/functionObjects/utilities/areaWrite/areaWrite.C
+++ b/src/functionObjects/utilities/areaWrite/areaWrite.C
@@ -109,9 +109,11 @@ Foam::areaWrite::areaWrite
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
-void Foam::areaWrite::verbose(const bool verbosity)
+bool Foam::areaWrite::verbose(const bool on)
 {
-    verbose_ = verbosity;
+    bool old(verbose_);
+    verbose_ = on;
+    return old;
 }
 
 
@@ -188,8 +190,8 @@ bool Foam::areaWrite::read(const dictionary& dict)
         auto surfWriter = surfaceWriter::New(writerType, writerOptions);
 
         // Use outputDir/TIME/surface-name
-        surfWriter->useTimeDir() = true;
-        surfWriter->verbose() = verbose_;
+        surfWriter->useTimeDir(true);
+        surfWriter->verbose(verbose_);
 
         writers_.set(areaName, surfWriter);
     }
diff --git a/src/functionObjects/utilities/areaWrite/areaWrite.H b/src/functionObjects/utilities/areaWrite/areaWrite.H
index aa645f5c9743bfc120123fd1fc1f03dbef89fd81..832bc00f3219ddcb7d61bdcb601a8b2134434170 100644
--- a/src/functionObjects/utilities/areaWrite/areaWrite.H
+++ b/src/functionObjects/utilities/areaWrite/areaWrite.H
@@ -205,8 +205,9 @@ public:
 
     // Member Functions
 
-        //- Set verbosity level
-        void verbose(const bool verbosity = true);
+        //- Enable/disable verbose output
+        //  \return old value
+        bool verbose(const bool on);
 
         //- Read the areaWrite dictionary
         virtual bool read(const dictionary& dict);
diff --git a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/FacePostProcessing/FacePostProcessing.C b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/FacePostProcessing/FacePostProcessing.C
index a5e187ca062e509f0aa139cf1f39e4fe17935053..40a455ff64297db8eaa82e79fbde22999883cfce 100644
--- a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/FacePostProcessing/FacePostProcessing.C
+++ b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/FacePostProcessing/FacePostProcessing.C
@@ -6,7 +6,7 @@
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
     Copyright (C) 2011-2017 OpenFOAM Foundation
-    Copyright (C) 2016-2019 OpenCFD Ltd.
+    Copyright (C) 2016-2020 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -204,7 +204,7 @@ void Foam::FacePostProcessing<CloudType>::write()
 
                 if (debug)
                 {
-                    writer->verbose() = true;
+                    writer->verbose(true);
                 }
 
                 writer->open
diff --git a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleCollector/ParticleCollector.C b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleCollector/ParticleCollector.C
index 351160e30531d58f20b20728c4fbf1d2d3b4b9aa..ecafb4fc5bb7af14d9a802beb2054cd70816c7c4 100644
--- a/src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleCollector/ParticleCollector.C
+++ b/src/lagrangian/intermediate/submodels/CloudFunctionObjects/ParticleCollector/ParticleCollector.C
@@ -474,7 +474,7 @@ void Foam::ParticleCollector<CloudType>::write()
 
         if (debug)
         {
-            writer->verbose() = true;
+            writer->verbose(true);
         }
 
         writer->open
diff --git a/src/mesh/blockMesh/blockMesh/blockMesh.C b/src/mesh/blockMesh/blockMesh/blockMesh.C
index 3cedbba951e49778152ec32ddf63ba85ac84b7cc..ef0c90f1dac7efad967dc0dba1eb3e97bddf0046 100644
--- a/src/mesh/blockMesh/blockMesh/blockMesh.C
+++ b/src/mesh/blockMesh/blockMesh/blockMesh.C
@@ -36,6 +36,8 @@ namespace Foam
     defineDebugSwitch(blockMesh, 0);
 }
 
+bool Foam::blockMesh::verboseOutput = true;
+
 
 const Foam::Enum<Foam::blockMesh::mergeStrategy>
 Foam::blockMesh::strategyNames_
@@ -55,7 +57,7 @@ Foam::blockMesh::blockMesh
 )
 :
     meshDict_(dict),
-    verboseOutput(meshDict_.getOrDefault("verbose", true)),
+    verbose_(meshDict_.getOrDefault("verbose", verboseOutput)),
     checkFaceCorrespondence_
     (
         meshDict_.getOrDefault("checkFaceCorrespondence", true)
@@ -117,14 +119,14 @@ bool Foam::blockMesh::valid() const noexcept
 
 bool Foam::blockMesh::verbose() const noexcept
 {
-    return verboseOutput;
+    return verbose_;
 }
 
 
 bool Foam::blockMesh::verbose(const bool on) noexcept
 {
-    bool old(verboseOutput);
-    verboseOutput = on;
+    bool old(verbose_);
+    verbose_ = on;
     return old;
 }
 
diff --git a/src/mesh/blockMesh/blockMesh/blockMesh.H b/src/mesh/blockMesh/blockMesh/blockMesh.H
index a082ff6c21c6e45fa6b590f6fa2ce21390bab38d..ec55f4a20fe33c1c9f0532842aea214e0b2c62b0 100644
--- a/src/mesh/blockMesh/blockMesh/blockMesh.H
+++ b/src/mesh/blockMesh/blockMesh/blockMesh.H
@@ -63,7 +63,8 @@ SourceFiles
 #define blockMesh_H
 
 #include "Enum.H"
-#include "blockList.H"
+#include "block.H"
+#include "PtrList.H"
 #include "searchableSurfaces.H"
 #include "polyMesh.H"
 #include "IOdictionary.H"
@@ -82,10 +83,16 @@ namespace Foam
 
 class blockMesh
 :
-    public blockList
+    public PtrList<block>
 {
 public:
 
+    // Typedefs
+
+        //- The list of blocks is stored as a PtrList
+        typedef PtrList<block> blockList;
+
+
     // Data Types
 
         //- The block merging strategy
@@ -110,8 +117,8 @@ private:
         //- Reference to mesh dictionary
         const IOdictionary& meshDict_;
 
-        //- Switch for verbose output
-        bool verboseOutput;
+        //- Output verbosity
+        bool verbose_;
 
         //- Switch checking face consistency (defaults to true)
         bool checkFaceCorrespondence_;
@@ -218,6 +225,12 @@ private:
 
 public:
 
+    // Static Data
+
+        //- The default verbosity (true)
+        static bool verboseOutput;
+
+
     //- Runtime type information
     ClassName("blockMesh");
 
@@ -301,10 +314,10 @@ public:
 
     // Verbosity
 
-        //- Verbose information?
+        //- Verbose output
         bool verbose() const noexcept;
 
-        //- Enable/disable verbose information about the progress
+        //- Enable/disable verbose output
         //  \return old value
         bool verbose(const bool on) noexcept;
 
diff --git a/src/mesh/blockMesh/blockMesh/blockMeshCheck.C b/src/mesh/blockMesh/blockMesh/blockMeshCheck.C
index 6f688e916b2c0b246de99f2dc2cad9c17805372b..e38c73ec6ef638a8099dbbeb12b33b6dbc33f31b 100644
--- a/src/mesh/blockMesh/blockMesh/blockMeshCheck.C
+++ b/src/mesh/blockMesh/blockMesh/blockMeshCheck.C
@@ -143,7 +143,7 @@ void Foam::blockMesh::check(const polyMesh& bm, const dictionary& dict) const
     }
 
 
-    if (verboseOutput)
+    if (verbose_)
     {
         Info<< nl << tab << "Basic statistics" << nl
             << tab << tab << "Number of internal faces : "
@@ -219,7 +219,7 @@ void Foam::blockMesh::check(const polyMesh& bm, const dictionary& dict) const
         }
     }
 
-    if (verboseOutput)
+    if (verbose_)
     {
         Info<< endl;
     }
diff --git a/src/mesh/blockMesh/blockMesh/blockMeshCreate.C b/src/mesh/blockMesh/blockMesh/blockMeshCreate.C
index 8d93b69b8725e351d4963cb521cfc418698b41a7..4f7657e61cea39b62b5e30e2d2ea1cbeba525324 100644
--- a/src/mesh/blockMesh/blockMesh/blockMeshCreate.C
+++ b/src/mesh/blockMesh/blockMesh/blockMeshCreate.C
@@ -36,7 +36,7 @@ void Foam::blockMesh::createPoints() const
 {
     const blockList& blocks = *this;
 
-    if (verboseOutput)
+    if (verbose_)
     {
         Info<< "Creating points with scale " << scaleFactor_ << endl;
     }
@@ -47,7 +47,7 @@ void Foam::blockMesh::createPoints() const
     {
         const pointField& blockPoints = blocks[blocki].points();
 
-        if (verboseOutput)
+        if (verbose_)
         {
             const label nx = blocks[blocki].density().x();
             const label ny = blocks[blocki].density().y();
@@ -102,7 +102,7 @@ void Foam::blockMesh::createCells() const
     const blockList& blocks = *this;
     const cellModel& hex = cellModel::ref(cellModel::HEX);
 
-    if (verboseOutput)
+    if (verbose_)
     {
         Info<< "Creating cells" << endl;
     }
@@ -257,7 +257,7 @@ void Foam::blockMesh::createPatches() const
 {
     const polyPatchList& topoPatches = topology().boundaryMesh();
 
-    if (verboseOutput)
+    if (verbose_)
     {
         Info<< "Creating patches" << endl;
     }
@@ -278,7 +278,7 @@ Foam::blockMesh::mesh(const IOobject& io) const
 {
     const blockMesh& blkMesh = *this;
 
-    if (verboseOutput)
+    if (verbose_)
     {
         Info<< nl << "Creating polyMesh from blockMesh" << endl;
     }
@@ -303,7 +303,7 @@ Foam::blockMesh::mesh(const IOobject& io) const
     {
         polyMesh& pmesh = *meshPtr;
 
-        if (verboseOutput)
+        if (verbose_)
         {
             Info<< "Adding cell zones" << endl;
         }
@@ -340,7 +340,7 @@ Foam::blockMesh::mesh(const IOobject& io) const
                     zoneMap.insert(zoneName, zonei);
                     ++freeZonei;
 
-                    if (verboseOutput)
+                    if (verbose_)
                     {
                         Info<< "    " << zonei << '\t' << zoneName << endl;
                     }
diff --git a/src/mesh/blockMesh/blockMesh/blockMeshMergeGeometrical.C b/src/mesh/blockMesh/blockMesh/blockMeshMergeGeometrical.C
index fe59b12d449459305168a1a3e71cd8a180bc5022..7071290a989da07627ebab513f1eb09dbec5a95f 100644
--- a/src/mesh/blockMesh/blockMesh/blockMeshMergeGeometrical.C
+++ b/src/mesh/blockMesh/blockMesh/blockMeshMergeGeometrical.C
@@ -34,7 +34,7 @@ void Foam::blockMesh::calcGeometricalMerge()
 {
     const blockList& blocks = *this;
 
-    if (verboseOutput)
+    if (verbose_)
     {
         Info<< "Creating block offsets" << endl;
     }
@@ -53,7 +53,7 @@ void Foam::blockMesh::calcGeometricalMerge()
     }
 
 
-    if (verboseOutput)
+    if (verbose_)
     {
         Info<< "Creating merge list (geometric search).." << flush;
     }
@@ -407,7 +407,7 @@ void Foam::blockMesh::calcGeometricalMerge()
                 }
             }
         }
-        if (verboseOutput)
+        if (verbose_)
         {
             Info<< '.' << flush;
         }
@@ -421,7 +421,7 @@ void Foam::blockMesh::calcGeometricalMerge()
     }
     while (changedPointMerge);
 
-    if (verboseOutput)
+    if (verbose_)
     {
         Info<< endl;
     }
diff --git a/src/mesh/blockMesh/blockMesh/blockMeshMergeTopological.C b/src/mesh/blockMesh/blockMesh/blockMeshMergeTopological.C
index 743877a77c7c329770f7fe110475e28b840e954e..15c3e5186866824d65a083987cec19e114c2d05a 100644
--- a/src/mesh/blockMesh/blockMesh/blockMeshMergeTopological.C
+++ b/src/mesh/blockMesh/blockMesh/blockMeshMergeTopological.C
@@ -308,7 +308,7 @@ void Foam::blockMesh::calcTopologicalMerge()
 
     const blockList& blocks = *this;
 
-    if (verboseOutput)
+    if (verbose_)
     {
         Info<< "Creating block offsets" << endl;
     }
@@ -326,7 +326,7 @@ void Foam::blockMesh::calcTopologicalMerge()
         nCells_  += blocks[blocki].nCells();
     }
 
-    if (verboseOutput)
+    if (verbose_)
     {
         Info<< "Creating merge list (topological search).." << flush;
     }
@@ -547,7 +547,7 @@ void Foam::blockMesh::calcTopologicalMerge()
             }
         }
 
-        if (verboseOutput)
+        if (verbose_)
         {
             Info<< '.' << flush;
         }
@@ -561,7 +561,7 @@ void Foam::blockMesh::calcTopologicalMerge()
 
     } while (changedPointMerge);
 
-    if (verboseOutput)
+    if (verbose_)
     {
         Info<< endl;
     }
diff --git a/src/mesh/blockMesh/blockMesh/blockMeshTopology.C b/src/mesh/blockMesh/blockMesh/blockMeshTopology.C
index ae2c3b0f6ddda9389cfe2d687700bfdcae2d94bf..994149d53e9901d203ffe1319793fbc920c76e2f 100644
--- a/src/mesh/blockMesh/blockMesh/blockMeshTopology.C
+++ b/src/mesh/blockMesh/blockMesh/blockMeshTopology.C
@@ -369,7 +369,7 @@ Foam::autoPtr<Foam::polyMesh> Foam::blockMesh::createTopology
     // Read the block edges
     if (meshDescription.found("edges"))
     {
-        if (verboseOutput)
+        if (verbose_)
         {
             Info<< "Creating block edges" << endl;
         }
@@ -382,7 +382,7 @@ Foam::autoPtr<Foam::polyMesh> Foam::blockMesh::createTopology
 
         edges_.transfer(edges);
     }
-    else if (verboseOutput)
+    else if (verbose_)
     {
         Info<< "No non-linear block edges defined" << endl;
     }
@@ -391,7 +391,7 @@ Foam::autoPtr<Foam::polyMesh> Foam::blockMesh::createTopology
     // Read the block faces
     if (meshDescription.found("faces"))
     {
-        if (verboseOutput)
+        if (verbose_)
         {
             Info<< "Creating block faces" << endl;
         }
@@ -404,14 +404,14 @@ Foam::autoPtr<Foam::polyMesh> Foam::blockMesh::createTopology
 
         faces_.transfer(faces);
     }
-    else if (verboseOutput)
+    else if (verbose_)
     {
         Info<< "No non-planar block faces defined" << endl;
     }
 
 
     // Create the blocks
-    if (verboseOutput)
+    if (verbose_)
     {
         Info<< "Creating topology blocks" << endl;
     }
@@ -430,7 +430,7 @@ Foam::autoPtr<Foam::polyMesh> Foam::blockMesh::createTopology
 
     // Create the patches
 
-    if (verboseOutput)
+    if (verbose_)
     {
         Info<< "Creating topology patches" << endl;
     }
diff --git a/src/mesh/blockMesh/blockVertices/blockVertex/blockVertex.C b/src/mesh/blockMesh/blockVertices/blockVertex/blockVertex.C
index cb0bdb00c43bc5e0b451629cfb067a7e6b2d9865..05c2809bd3e4684fe07821ca42b30a456c99659d 100644
--- a/src/mesh/blockMesh/blockVertices/blockVertex/blockVertex.C
+++ b/src/mesh/blockMesh/blockVertices/blockVertex/blockVertex.C
@@ -41,10 +41,6 @@ namespace Foam
 
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
-Foam::blockVertex::blockVertex()
-{}
-
-
 Foam::autoPtr<Foam::blockVertex> Foam::blockVertex::clone() const
 {
     NotImplemented;
@@ -103,7 +99,11 @@ Foam::autoPtr<Foam::blockVertex> Foam::blockVertex::New
 }
 
 
-Foam::label Foam::blockVertex::read(Istream& is, const dictionary& dict)
+Foam::label Foam::blockVertex::read
+(
+    Istream& is,
+    const dictionary& dict
+)
 {
     const dictionary* varDictPtr = dict.findDict("namedVertices");
     if (varDictPtr)
diff --git a/src/mesh/blockMesh/blockVertices/blockVertex/blockVertex.H b/src/mesh/blockMesh/blockVertices/blockVertex/blockVertex.H
index 937f4eb212de4cf824d0e82b6380c02ca2ca509c..c85adddd12ffcc040ee7fe227639177ae90562b9 100644
--- a/src/mesh/blockMesh/blockVertices/blockVertex/blockVertex.H
+++ b/src/mesh/blockMesh/blockVertices/blockVertex/blockVertex.H
@@ -76,8 +76,8 @@ public:
 
     // Constructors
 
-        //- Construct null
-        blockVertex();
+        //- Default construct
+        blockVertex() noexcept = default;
 
         //- Clone function
         virtual autoPtr<blockVertex> clone() const;
diff --git a/src/randomProcesses/noise/noiseModels/surfaceNoise/surfaceNoise.C b/src/randomProcesses/noise/noiseModels/surfaceNoise/surfaceNoise.C
index 8c0b4bd8861c728cde36afd528db3fcff8788aa1..a3d4bd79bbec7056dea59e631297f328bf15d8ce 100644
--- a/src/randomProcesses/noise/noiseModels/surfaceNoise/surfaceNoise.C
+++ b/src/randomProcesses/noise/noiseModels/surfaceNoise/surfaceNoise.C
@@ -456,7 +456,7 @@ bool surfaceNoise::read(const dictionary& dict)
         );
 
         // Use outputDir/TIME/surface-name
-        writerPtr_->useTimeDir() = true;
+        writerPtr_->useTimeDir(true);
 
         return true;
     }
diff --git a/src/sampling/sampledSet/sampledSets/sampledSets.C b/src/sampling/sampledSet/sampledSets/sampledSets.C
index 7197f1da5524bd54557f79e0bd741c4c48770705..965cad242f07f66dd7529583a1762ead40578319 100644
--- a/src/sampling/sampledSet/sampledSets/sampledSets.C
+++ b/src/sampling/sampledSet/sampledSets/sampledSets.C
@@ -6,7 +6,7 @@
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
     Copyright (C) 2011-2017 OpenFOAM Foundation
-    Copyright (C) 2015-2018 OpenCFD Ltd.
+    Copyright (C) 2015-2020 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -150,9 +150,11 @@ Foam::sampledSets::sampledSets
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
-void Foam::sampledSets::verbose(const bool verbosity)
+bool Foam::sampledSets::verbose(const bool on)
 {
-    verbose_ = verbosity;
+    bool old(verbose_);
+    verbose_ = on;
+    return old;
 }
 
 
diff --git a/src/sampling/sampledSet/sampledSets/sampledSets.H b/src/sampling/sampledSet/sampledSets/sampledSets.H
index eb24be8505f7e52c6e1a3b6e0fe85d7aa1be735d..0f38753b7d2d183451660242af26714e947eed90 100644
--- a/src/sampling/sampledSet/sampledSets/sampledSets.H
+++ b/src/sampling/sampledSet/sampledSets/sampledSets.H
@@ -283,8 +283,9 @@ public:
 
     // Member Functions
 
-        //- Set verbosity level
-        void verbose(const bool verbosity = true);
+        //- Enable/disable verbose output
+        //  \return old value
+        bool verbose(const bool on);
 
         //- Read the sampledSets
         virtual bool read(const dictionary&);
diff --git a/src/sampling/sampledSurface/sampledSurfaces/sampledSurfaces.C b/src/sampling/sampledSurface/sampledSurfaces/sampledSurfaces.C
index 48b65330f9e093dd2a119ced4c10b9f292529fa7..0c880736302dd4de38413514e5d762cfc7647125 100644
--- a/src/sampling/sampledSurface/sampledSurfaces/sampledSurfaces.C
+++ b/src/sampling/sampledSurface/sampledSurfaces/sampledSurfaces.C
@@ -270,9 +270,11 @@ Foam::sampledSurfaces::sampledSurfaces
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
-void Foam::sampledSurfaces::verbose(const bool verbosity)
+bool Foam::sampledSurfaces::verbose(const bool on)
 {
-    verbose_ = verbosity;
+    bool old(verbose_);
+    verbose_ = on;
+    return old;
 }
 
 
@@ -361,8 +363,8 @@ bool Foam::sampledSurfaces::read(const dictionary& dict)
             writers_[surfi].isPointData() = surfs[surfi].interpolate();
 
             // Use outputDir/TIME/surface-name
-            writers_[surfi].useTimeDir() = true;
-            writers_[surfi].verbose() = verbose_;
+            writers_[surfi].useTimeDir(true);
+            writers_[surfi].verbose(verbose_);
 
             ++surfi;
         }
@@ -427,8 +429,8 @@ bool Foam::sampledSurfaces::read(const dictionary& dict)
             writers_[surfi].isPointData() = surfs[surfi].interpolate();
 
             // Use outputDir/TIME/surface-name
-            writers_[surfi].useTimeDir() = true;
-            writers_[surfi].verbose() = verbose_;
+            writers_[surfi].useTimeDir(true);
+            writers_[surfi].verbose(verbose_);
 
             ++surfi;
         }
diff --git a/src/sampling/sampledSurface/sampledSurfaces/sampledSurfaces.H b/src/sampling/sampledSurface/sampledSurfaces/sampledSurfaces.H
index 8b1c82752f045a89189f8bdbf1e6035f4a736d1c..83508206a4b22c0e1b92fc8c161e430009c30288 100644
--- a/src/sampling/sampledSurface/sampledSurfaces/sampledSurfaces.H
+++ b/src/sampling/sampledSurface/sampledSurfaces/sampledSurfaces.H
@@ -348,8 +348,9 @@ public:
 
     // Member Functions
 
-        //- Set verbosity level
-        void verbose(const bool verbosity = true);
+        //- Enable/disable verbose output
+        //  \return old value
+        bool verbose(const bool on);
 
         //- Read the sampledSurfaces dictionary
         virtual bool read(const dictionary& dict);
diff --git a/src/surfMesh/writers/surfaceWriter.H b/src/surfMesh/writers/surfaceWriter.H
index c1142e88b86352f2705ea189c8ca8262d1e580e9..2b18143c18a99503a4d58bde0ae3fc411d5e03a4 100644
--- a/src/surfMesh/writers/surfaceWriter.H
+++ b/src/surfMesh/writers/surfaceWriter.H
@@ -391,13 +391,21 @@ public:
         //- Should a time directory be spliced into the output path?
         inline bool useTimeDir() const;
 
+        //- Enable/disable use of spliced output path
+        //  \return old value
+        inline bool useTimeDir(const bool on);
+
         //- Change handling of spliced output path.
         inline bool& useTimeDir();
 
         //- Get output verbosity
         inline bool verbose() const;
 
-        //- Set output verbosity
+        //- Enable/disable verbose output
+        //  \return old value
+        inline bool verbose(const bool on);
+
+        //- Access output verbosity
         inline bool& verbose();
 
         //- The current value of the point merge dimension (metre)
diff --git a/src/surfMesh/writers/surfaceWriterI.H b/src/surfMesh/writers/surfaceWriterI.H
index c42d1e7495d60aa4ef6e949898571f15562e5f1f..b344a1869394e170b72a5ab45849787770e462e2 100644
--- a/src/surfMesh/writers/surfaceWriterI.H
+++ b/src/surfMesh/writers/surfaceWriterI.H
@@ -5,7 +5,7 @@
     \\  /    A nd           | www.openfoam.com
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
-    Copyright (C) 2019 OpenCFD Ltd.
+    Copyright (C) 2019-2020 OpenCFD Ltd.
 -------------------------------------------------------------------------------
 License
     This file is part of OpenFOAM.
@@ -57,6 +57,14 @@ inline bool Foam::surfaceWriter::useTimeDir() const
 }
 
 
+inline bool Foam::surfaceWriter::useTimeDir(const bool on)
+{
+    bool old(useTimeDir_);
+    useTimeDir_ = on;
+    return old;
+}
+
+
 inline bool& Foam::surfaceWriter::useTimeDir()
 {
     return useTimeDir_;
@@ -69,6 +77,14 @@ inline bool Foam::surfaceWriter::verbose() const
 }
 
 
+inline bool Foam::surfaceWriter::verbose(const bool on)
+{
+    bool old(verbose_);
+    verbose_ = on;
+    return old;
+}
+
+
 inline bool& Foam::surfaceWriter::verbose()
 {
     return verbose_;