bml: use settters and getters for properties

This way we can eliminate the _location() variants that won't work through IPC.