Removed repost stuff
Enabling failed messages handling

Forces the implementer to handle failed messages
Major cleanup

Made it much simpler to implement.