move decode from Property to Observable