Widget API

@va1en0k @pozadi