Events and Property implimentation (needs signals and more data types before it's complete)