Correcting code quality issues & many improvements

* Spring configuration is more centralized.
* Application now consumes less static memory.
* Constants & configuration has been modularized and made more flexible.