Changed the 'once' method so that the observer is unlinked before firing in order to prevent multiple invocations in cases where the observer triggers another property change, see #31.