got rid off generics, added observers to bus and session