diff --git a/packages/logger/package.json b/packages/logger/package.json
index 4ef79ee96f338b18571a7034374ff78f6a47abb4..f916e583b97bdcd12c7ef110f9ac83c29b66c740 100644
--- a/packages/logger/package.json
+++ b/packages/logger/package.json
@@ -1,7 +1,8 @@
 {
   "name": "@pubsweet/logger",
   "version": "0.0.2",
-  "description": "A module encapsulating standard logging features for pubsweet components and services.",
+  "description":
+    "A module encapsulating standard logging features for pubsweet components and services.",
   "main": "src/index.js",
   "scripts": {
     "test": "jest",
@@ -19,7 +20,6 @@
   "author": "Antony Denyer",
   "license": "MIT",
   "devDependencies": {
-    "bunyan": "^1.8.12",
     "jest": "^21.2.1",
     "nsp": "^2.7.0",
     "winston": "^2.3.1"
diff --git a/packages/logger/test/index.test.js b/packages/logger/test/index.test.js
index 6853df2dba9eebe432b56c3bbb4f269650b1c849..fe7869d19d963b094da235701909492591bf32a4 100644
--- a/packages/logger/test/index.test.js
+++ b/packages/logger/test/index.test.js
@@ -80,27 +80,6 @@ describe('Logging manager', () => {
       expect(winston.error).toHaveBeenLastCalledWith('error')
     })
 
-    it('works with bunyan', () => {
-      jest.resetModules()
-      config = require('config')
-      const logger = require('../src/')
-      const bunyan = require('bunyan').createLogger({ name: 'test' })
-      jest.spyOn(bunyan, 'debug').mockImplementation()
-      jest.spyOn(bunyan, 'info').mockImplementation()
-      jest.spyOn(bunyan, 'warn').mockImplementation()
-      jest.spyOn(bunyan, 'error').mockImplementation()
-      logger.configure(bunyan)
-
-      logger.debug('debug')
-      expect(bunyan.debug).toHaveBeenLastCalledWith('debug')
-      logger.info('info')
-      expect(bunyan.info).toHaveBeenLastCalledWith('info')
-      logger.warn('warn')
-      expect(bunyan.warn).toHaveBeenLastCalledWith('warn')
-      logger.error('error')
-      expect(bunyan.error).toHaveBeenLastCalledWith('error')
-    })
-
     it('prevents configuration again', () => {
       jest.resetModules()
       config = require('config')
@@ -115,24 +94,14 @@ describe('Logging manager', () => {
     it('which returns raw logger', () => {
       jest.resetModules()
       const logger = require('../src/')
-      const bunyan = require('bunyan').createLogger({ name: 'test' })
-      logger.configure(bunyan)
+      const winston = require('winston')
+      logger.configure(winston)
       const rawLogger = logger.getRawLogger()
-      expect(rawLogger.fields.name).toBe('test')
+      expect(rawLogger).toBe(winston)
     })
   })
 
   describe('when a logger is passed by config', () => {
-    it('sets logger to "bunyan" if specified', () => {
-      jest.resetModules()
-      config = require('config')
-      const bunyan = require('bunyan').createLogger({ name: 'test' })
-      config['pubsweet-server'] = { logger: bunyan }
-      const logger = require('../src/')
-      const rawLogger = logger.getRawLogger()
-      expect(rawLogger.fields.name).toBe('test')
-    })
-
     it('sets logger to "winston" if specified', () => {
       jest.resetModules()
       config = require('config')
diff --git a/yarn.lock b/yarn.lock
index ebe6312edb3e4d5a3b2a94440b88fa088c0b0244..a784bf2df537afac8b429018b9c0a684a669b301 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -66,6 +66,24 @@
     pouchdb "^6.3.4"
     pubsweet-server "^1.0.0-beta.2"
 
+"@pubsweet/db-manager@^0.0.8":
+  version "0.0.8"
+  resolved "https://registry.yarnpkg.com/@pubsweet/db-manager/-/db-manager-0.0.8.tgz#f0d2d48ab393aa7958d6bcd8c97f0500686653bf"
+  dependencies:
+    "@pubsweet/logger" "0.0.1"
+    fs-extra "^4.0.2"
+    isomorphic-fetch "^2.2.1"
+    joi "^11.0.2"
+    pouchdb "^6.3.4"
+    pubsweet-server "^1.0.0-beta.2"
+
+"@pubsweet/logger@0.0.1", "@pubsweet/logger@^0.0.1":
+  version "0.0.1"
+  resolved "https://registry.yarnpkg.com/@pubsweet/logger/-/logger-0.0.1.tgz#ec0c15f04e0c64232c29173848ffe6da8190c9c2"
+  dependencies:
+    config "^1.26.2"
+    joi "^10.6.0"
+
 "@pubsweet/starter@git+https://gitlab.coko.foundation/pubsweet/pubsweet-starter.git":
   version "1.0.0-alpha.1"
   resolved "git+https://gitlab.coko.foundation/pubsweet/pubsweet-starter.git#dfe2a9cc77dd84247a8a9bb3ec222ee7f6768059"
@@ -1646,15 +1664,6 @@ builtin-status-codes@^3.0.0:
   version "3.0.0"
   resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8"
 
-bunyan@^1.8.12:
-  version "1.8.12"
-  resolved "https://registry.yarnpkg.com/bunyan/-/bunyan-1.8.12.tgz#f150f0f6748abdd72aeae84f04403be2ef113797"
-  optionalDependencies:
-    dtrace-provider "~0.8"
-    moment "^2.10.6"
-    mv "~2"
-    safe-json-stringify "~1"
-
 busboy@^0.2.11, busboy@^0.2.13:
   version "0.2.14"
   resolved "https://registry.yarnpkg.com/busboy/-/busboy-0.2.14.tgz#6c2a622efcf47c57bbbe1e2a9c37ad36c7925453"
@@ -3088,12 +3097,6 @@ draft-js@^0.10.0:
     immutable "~3.7.4"
     object-assign "^4.1.0"
 
-dtrace-provider@~0.8:
-  version "0.8.5"
-  resolved "https://registry.yarnpkg.com/dtrace-provider/-/dtrace-provider-0.8.5.tgz#98ebba221afac46e1c39fd36858d8f9367524b92"
-  dependencies:
-    nan "^2.3.3"
-
 duplexer2@~0.0.2:
   version "0.0.2"
   resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.0.2.tgz#c614dcf67e2fb14995a91711e5a617e8a60a31db"
@@ -3938,6 +3941,12 @@ fastparse@^1.1.1:
   version "1.1.1"
   resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.1.tgz#d1e2643b38a94d7583b479060e6c4affc94071f8"
 
+faye-websocket@0.9.4:
+  version "0.9.4"
+  resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.9.4.tgz#885934c79effb0409549e0c0a3801ed17a40cdad"
+  dependencies:
+    websocket-driver ">=0.5.1"
+
 faye-websocket@^0.10.0:
   version "0.10.0"
   resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4"
@@ -4444,7 +4453,7 @@ glob@^5.0.15:
     once "^1.3.0"
     path-is-absolute "^1.0.0"
 
-glob@^6.0.1, glob@^6.0.4:
+glob@^6.0.4:
   version "6.0.4"
   resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22"
   dependencies:
@@ -6962,7 +6971,7 @@ modify-values@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.0.tgz#e2b6cdeb9ce19f99317a53722f3dbf5df5eaaab2"
 
-moment@2.x.x, moment@^2.10.6, moment@^2.18.1, moment@^2.6.0:
+moment@2.x.x, moment@^2.18.1, moment@^2.6.0:
   version "2.19.4"
   resolved "https://registry.yarnpkg.com/moment/-/moment-2.19.4.tgz#17e5e2c6ead8819c8ecfad83a0acccb312e94682"
 
@@ -7031,14 +7040,6 @@ mute-stream@0.0.7, mute-stream@~0.0.4:
   version "0.0.7"
   resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab"
 
-mv@~2:
-  version "2.1.1"
-  resolved "https://registry.yarnpkg.com/mv/-/mv-2.1.1.tgz#ae6ce0d6f6d5e0a4f7d893798d03c1ea9559b6a2"
-  dependencies:
-    mkdirp "~0.5.1"
-    ncp "~2.0.0"
-    rimraf "~2.4.0"
-
 nan-x@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/nan-x/-/nan-x-1.0.0.tgz#0ee78e8d1cd0592d5b4260a5940154545c61c121"
@@ -7047,7 +7048,7 @@ nan@2.6.2:
   version "2.6.2"
   resolved "https://registry.yarnpkg.com/nan/-/nan-2.6.2.tgz#e4ff34e6c95fdfb5aecc08de6596f43605a7db45"
 
-nan@^2.1.0, nan@^2.3.0, nan@^2.3.2, nan@^2.3.3:
+nan@^2.1.0, nan@^2.3.0, nan@^2.3.2:
   version "2.8.0"
   resolved "https://registry.yarnpkg.com/nan/-/nan-2.8.0.tgz#ed715f3fe9de02b57a5e6252d90a96675e1f085a"
 
@@ -7081,10 +7082,6 @@ ncp@1.0.x:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/ncp/-/ncp-1.0.1.tgz#d15367e5cb87432ba117d2bf80fdf45aecfb4246"
 
-ncp@~2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/ncp/-/ncp-2.0.0.tgz#195a21d6c46e361d2fb1281ba38b91e9df7bdbb3"
-
 nearley@^2.7.10:
   version "2.11.0"
   resolved "https://registry.yarnpkg.com/nearley/-/nearley-2.11.0.tgz#5e626c79a6cd2f6ab9e7e5d5805e7668967757ae"
@@ -8715,6 +8712,10 @@ pubsweet-component-navigation@^0.2.7:
     react-router-bootstrap "^0.24.4"
     react-router-dom "^4.2.2"
 
+pubsweet-component-pepper-theme@^0.0.3:
+  version "0.0.3"
+  resolved "https://registry.yarnpkg.com/pubsweet-component-pepper-theme/-/pubsweet-component-pepper-theme-0.0.3.tgz#9bc8b111dde81e92100e74a17ec9c97a3bf9855a"
+
 pubsweet-server@1.0.0-beta.3:
   version "1.0.0-beta.3"
   resolved "https://registry.yarnpkg.com/pubsweet-server/-/pubsweet-server-1.0.0-beta.3.tgz#c29c30671a897883e2c87085f214c0d6be178044"
@@ -8754,9 +8755,9 @@ pubsweet-server@1.0.0-beta.3:
     uuid "^3.0.1"
     winston "^2.2.0"
 
-pubsweet-sse@^0.1.1:
-  version "0.1.3"
-  resolved "https://registry.yarnpkg.com/pubsweet-sse/-/pubsweet-sse-0.1.3.tgz#a185e81e270ef3b1132cae12959c1ac430a6ae03"
+pubsweet-theme-plugin@^0.0.1:
+  version "0.0.1"
+  resolved "https://registry.yarnpkg.com/pubsweet-theme-plugin/-/pubsweet-theme-plugin-0.0.1.tgz#4160bdd53dec4d646952d29337ce36bc3b8dfe9a"
 
 pubsweet@1.0.0-beta.5:
   version "1.0.0-beta.5"
@@ -8807,6 +8808,13 @@ punycode@^1.2.4, punycode@^1.4.1:
   version "1.4.1"
   resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
 
+pusher-js@^4.2.1:
+  version "4.2.1"
+  resolved "https://registry.yarnpkg.com/pusher-js/-/pusher-js-4.2.1.tgz#7c10e2f981b8ed4390c1cbed448eb5c0967aaa22"
+  dependencies:
+    faye-websocket "0.9.4"
+    xmlhttprequest "^1.8.0"
+
 q-i@^1.1.4:
   version "1.2.0"
   resolved "https://registry.yarnpkg.com/q-i/-/q-i-1.2.0.tgz#2cd2ab41784dc3c583e35c70a541d93c3fde5d4a"
@@ -9849,12 +9857,6 @@ rimraf@~2.2.6:
   version "2.2.8"
   resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.2.8.tgz#e439be2aaee327321952730f99a8929e4fc50582"
 
-rimraf@~2.4.0:
-  version "2.4.5"
-  resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.4.5.tgz#ee710ce5d93a8fdb856fb5ea8ff0e2d75934b2da"
-  dependencies:
-    glob "^6.0.1"
-
 ripemd160@^2.0.0, ripemd160@^2.0.1:
   version "2.0.1"
   resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.1.tgz#0f4584295c53a3628af7e6d79aca21ce57d1c6e7"
@@ -9915,10 +9917,6 @@ safe-buffer@5.1.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, s
   version "5.1.1"
   resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853"
 
-safe-json-stringify@~1:
-  version "1.0.4"
-  resolved "https://registry.yarnpkg.com/safe-json-stringify/-/safe-json-stringify-1.0.4.tgz#81a098f447e4bbc3ff3312a243521bc060ef5911"
-
 sane@^2.0.0:
   version "2.2.0"
   resolved "https://registry.yarnpkg.com/sane/-/sane-2.2.0.tgz#d6d2e2fcab00e3d283c93b912b7c3a20846f1d56"
@@ -11811,6 +11809,10 @@ xmlbuilder@^9.0.4:
   version "9.0.4"
   resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.4.tgz#519cb4ca686d005a8420d3496f3f0caeecca580f"
 
+xmlhttprequest@^1.8.0:
+  version "1.8.0"
+  resolved "https://registry.yarnpkg.com/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz#67fe075c5c24fef39f9d65f5f7b7fe75171968fc"
+
 "xtend@>=4.0.0 <4.1.0-0", xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.0, xtend@~4.0.1:
   version "4.0.1"
   resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"