Implement remote update

Signed-off-by: Michal Čihař <michal@cihar.com>
Properly handle when subclass does not implement something

Signed-off-by: Michal Čihař <michal@cihar.com>
Support for pushing

Signed-off-by: Michal Čihař <michal@cihar.com>