Complete refactoring and Switched back to Silex