Added interfaces for Application and Middleware, the latter allows middleware to be initialized for an application.