Added push support and added keychain support. It's buggy still though.