Controller API based on Events - stage 01, Initial commit