v0.5.0 Refactor how middleware is added to allow more flexibility
v0.5.0 Refactor how middleware is added to allow more flexibility