Adding core Di classes + tests