Add Pluggable interface and implementation

Sometimes I want this functionality, but I'm not sure that using it is right design decision. What do you think?