Refactor for use with new middleware-focused api
bug fix. Add missing router parameter for registration
Supply a default no-op logger