As far as flexibility beyond 11 columns: I'd love to know your use case.
We do support additional metadata on each activity with what we call enrichment tables.
Some events are going to need more metadata -- a page view would want to have the actual page, the five UTM parameters, referrer, etc, which is more than the 3 fields of metadata we store on the activity stream.
So we also support creating additional tables to add metadata to each activity. Each row requires a unique activity id and its timestamp and can an unlimited number of additional columns.
We'll then automatically join that table into the activity stream when queries need it.