Separate concerns in Silex application