Rewrite of the BaseFrame

See changelog.