Major Overhaul (Use Spring, Add slf4j, app-config properties)