Implementations are now initialized in constructor