Small fixes - without affecting the operation.
GetInstance return single instance (thread-safe).
Resource must be loaded only once (thread-safe).
Open/Closed Principle - UniDecoder as Decoder implemention.