Custom Object Properties, Methods and Events