Bean instantiation decoupled into an extensible interface