change middleware abstract init to allow access to common yoke functionality