style: change test organization
feat: can now register middleware
feat: add the run method
feat: can now run middlewares