Moved some of the address conversion stuff into a utility class and started on an engine implementation.