add command system
split up di container services into different traits