Fluent style APIs + extra features

Many changes, including more fluent style component APIs and new
features / functions.