Fix a bug where observer would reference deallocated instance

Also set offset above keyboard to zero.