Mark failedAttempts volatile to allow synchronization between threads
Fix javadoc
Add ReliableCommandBus guarenteeing command delivery