WriteDevice should not read, probably implement "ready" check in correct way.
add convenience read-write functions for much better code readability.