I have completed the seperation of Local/Remote Delivery logic into seperate mail listeners decoupling it from the Message Driven Bean. We now only have a single message driven bean class which is configured multiple times with a different listener chain depending on the desired behaviour.
This now gives us a place to add services like SPAM filtering, which only need be applied to local delivered mail.