Offline editing

Allow user to perform offline modification that will be merged once they ragain connection.