Hi, I've started refactoring in server/sandbox/mailet-refactorings
Initial comits moved user and mail repositories into the API. This is because it is virtually impossible to do anything with the API without those entities. User repo depends upon User, so I moved that too. While I was at it I refactored JamesUser. JamesUser is badly named because it has two responsibilities, forwarding and aliasing, so I split ForwardingUser and AliasedUser out of it and, on the basis that they are reasonably sensible email concepts, moved them into the API as well. d.
