Trying to build a more generic and reusable system to tackle ML problems (competition oriented though, not real world)