Mush is a lightweight type-based, order-resolving, dependency injection framework