More general refactoring, solidifying startup process, classpath
scanning techniques