Property don't inherit from Stream (add Observable)
some asserts, meaningful toString