runtime: Make properties opaque and provide an API