Enforce middleware through interface