More plugin contract & dependency injection updates