PROG-405: add logging and exception handling, Mapper -> Model
PROG-405: make constructors private to clarify API
PROG-405: speed up expiry test slightly