export default module => {
    const proto = {
        async load() {
            return true
        }
    };

    return Object.assign(Object.create(proto), module)
}
export default (...components) => {
    let loaders = [];

    components.forEach(elem => {
        elem.load(loaders)
    });

    let proto = {
        load(state) {
            loaders.forEach(loader => {
                loader(state)
            })
        }
    };

    return Object.assign(Object.create(proto), ...components)
}
Create dynamic, compositable module system (wtf am I doin)