Added user custom data property, refactored sending methods