A Source is either a CompanyID (Headquarters), IndustryID or TownID.
When making those types stronger a lot of casts would be needed, but
with these simple helpers the intent is shown more clearly.
This is using a non-intrusive type-traits like templated system, which
allows compile-time validation that the command table and the command
enum match up.