Draft: e4 dependency injection

Signed-off-by: Yasser Aziza <yasser.aziza@gmail.com>