Refactor load data

Decoupled loading process, we can now add the feature to add loaders.