Refactor loader classes to static, propagate exceptions and reduce redundant code