A minimal dependency injection container