Jms expiration refactor rebased

Code refactoring as per peer reviews
Should this be a debug log? It would be good to have more information