Why has everything its own custom interface?

TODOs

  • [ ] Extension methods are present in Java.
  • [ ] Extension methods are not always good enough, also this point might not be that relevant.
  • [ ] Maximizes dependency containment and replaceability.
  • [ ] Add this to the Network's guidelines.