Remove unneeded interfaces from observer pattern