#55: Finished first draft of base implementation of observable interfaces