/// A trait for types that can be injected with dependencies.
/// If u can avoid write implementation and the fields only have dependencies that are also Injectable
/// u can use the `#[derive(Injectable)]` macro crate to auto implement it.
pub trait Injectable<TInjector>: Sized + Send + Sync + 'static {
    /// Inject ur values for the type
    fn inject(injector: &TInjector) -> Self;
}
