Contributor: ShinichiYao
Added config reload and test.
Organizing all imports.
Moved to Maven instead of Gradle. Using proper project structure and package structure.