Fix Router handler stacking
Add abstract middleware classes