Support multiple custom components

Add a logger for proper logging