Removed direct usages of Monitors, in favor of individual monitors (-> easier to mock, delegate, and makes it clear what a component exposes)
Added Supplier<T> which supplies instances of T, without creation
Removed direct usages of DependencyResolver, replaced with Supplier<T> for more explicit dependencies
Added supplyDependency in Dependencies helper
Added Javadocs where needed
Replaced custom DependencyResolver instances with the generic Dependencies helper (more to come)
Added byte counting monitor at Netty level for Client and Server