#19 - Added observe and unobserve