introduced prototype bean function and made context injecteable, added data change listener