Design and Implementation of Extensible Middleware for Non-Repudiable Interactions [PhD Thesis]