improved components system to take list of desired components to mixin