Generate controls at runtime with S3 methods