Cleaned up some generics
Merge branch 'observers' into master-fixed