Add callable strategy syntax, reorganize some strategy functions