Extract argument validation into separate method
Add icon url option
Add payload class
Tweak code formatting
Test icon_url inclusion
Extract network features into connection module
Add missing connection file