@orglee, twoja implementacja nie jest zła, ale wyróżnij settery i gettery, bo teraz jest mało intuicyjne. Wg mnie - tego co czytałem i "co czuję" (mam nadzieję, że rozumiesz o co mi chodzi przez to) - kontekst jest bardzo świadom siebie i tego co trzyma wewnątrz (wtedy metody proxy mają sens). A tak masz bardziej rejestr (bo co stoi na przeszkodzie, żeby kontekst trzymał wyspecjalizowany obiekt rejestru?). Pamiętaj także, że kontekst nie służy tylko jako kontener dla obiektów, może też udostępniać wyspecjalizowane metody zależne od aplikacji, którą piszesz.
@phpion, a dlaczego powinien być singletonem? Co jak co, ale dzięki kontekstowi zapobiega się tworzeniu singletonów z obiektów loggera, database managera, czy routera. Po co więc to psuć?
Wiem, że kontekst w symfony jest tak zbudowany, ale mi osobiście nie zdarzyło się jeszcze korzystać z tego.
Dzięki IoC mam kontekst tam gdzie być powinien i nigdzie więcej. Jako przykład podam formularze w sf i referrera. Mnóstwo (znakomita większość) tutoriali podaje jako rozwiązanie pobranie contextu z singletona wewnątrz formularza, a następnie wyciągnięcie z requesta stringa z referrerem. Podczas, gdy IMHO najczystszym i najbardziej przenośnym (czyli mógłbym użyć formularza poza sf) rozwiązaniem byłoby zapodanie referrera w options formularza[edit], lub bezpośrednie ustawienie wartości pola. Sęk w tym, żeby zrobić to w akcji, tam gdzie mam kontekst udostępniony[edit].
Singleton jest dla leniwych

@orglee, pamiętaj, że to tylko wskazówki - jeżeli działa teraz, to znaczy, że jest dobrze, jeżeli nie działa - wtedy miałem rację ;P
Pozdrawiam, Alan